WEBAPI 的简单示例

原创 2018年02月09日 15:05:41

一、webapi

1.在webapiconfig中移除xml的返回格式,返回格式就自动使用Json格式
config.Formatters.Remove(config.Formatters.XmlFormatter);

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;

namespace WebApplication2
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {

            //移除XML格式,返回值自动就变成json格式
            config.Formatters.Remove(config.Formatters.XmlFormatter);
            // Web API 配置和服务

            // Web API 路由
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

2.创建一个pig的控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace WebApplication2.Controllers
{
    public class PigController : ApiController
    {
        // GET: api/Pig
        //public IEnumerable<string> Get()
        //{
        //    return new string[] { "大pig", "value2" };
        //}
        public Pig Get()
        {
            Pig pig = new Pig()
            {
                Age = 1,
                Name = "大黄狗"
            };
            return pig;
        }

        // GET: api/Pig/5
        public string Get(int id)
        {
            return "value";
        }

        // POST: api/Pig
        public void Post([FromBody]string value)
        {
        }

        // PUT: api/Pig/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE: api/Pig/5
        public void Delete(int id)
        {
        }
    }
}

3.发布webapi网站,url=http://localhost:34050/api/Pig

二、客户端调用

新建一个网站,简单一点,就用web窗体,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    using System.Net;
    public partial class Pig : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //1.0请求的webapi的url:http://localhost:34050/api/Pig
            //1.0构造一个制定url请求对象
            WebRequest request = WebRequest.Create("http://localhost:34050/api/Pig");
            //2.0指定请求的方法为get
            request.Method = "Get";
            //3.0发出请求获取相应对象
            WebResponse response = request.GetResponse();

            //4.0获取相应报文体中的数据
            System.IO.Stream st = response.GetResponseStream();

            //5.0将st转换成字符串
            string resStr = string.Empty;
            using (System.IO.StreamReader sr = new System.IO.StreamReader(st))
            {
                //从当前流的开始位置读至结束位置
                resStr = sr.ReadToEnd();//{"Age":1,"Name":"大黄狗"}
            }

            //6.0将结果绑定到Grid上
            //    将json格式的字符串反序列化成集合
            System.Web.Script.Serialization.JavaScriptSerializer jsoner = new System.Web.Script.Serialization.JavaScriptSerializer();
            ResultPig rpig= jsoner.Deserialize<ResultPig>(resStr);
            ////如果结果是[{},{}]
            //jsoner.Deserialize<List<ResultPig>>(resStr);

            List<ResultPig> list = new List<ResultPig>() { rpig };
            GridView1.DataSource = list;
            GridView1.DataBind();

            //Response.Write(resStr);
        }
    }
    public class ResultPig
    {
        public int Age { get; set; }
        public string Name { get; set; }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

ASP.NET WEB API入门实例

1.WebApi是什么     ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务。ASP.NET Web API 是一种用于...
  • qq_36456952
  • qq_36456952
  • 2017年03月17日 11:57
  • 3581

最简单的Vuex示例

最简单的Vuex示例学习Vuex,弄个最简单的例子备忘一下,mapGetters, mapActions, mapMutations, state都用到了。1.老规矩,vue-cli脚手架来一下vue...
  • tanmx219
  • tanmx219
  • 2017年11月20日 11:01
  • 212

C# 搭建一个简单的WebApi项目

一、创建Web API1、创建一个新的web API项目启动VS 2013,并在“开始页”选择“新项目”。或从“文件”菜单选择“新建”,然后选择“项目”。在“模板”面板中选择“已安装模板”,并展开“V...
  • lwpoor123
  • lwpoor123
  • 2017年10月19日 15:10
  • 361

搭建简单的Web API项目、Web API的调用方式

搭建简单的Web API项目、Web API的调用方式
  • vaecnfeilong
  • vaecnfeilong
  • 2013年12月31日 15:57
  • 6685

VS2015搭建测试webApi测试环境

WebApi已逐渐成为Web应用开发中的主流,通过接口调用的方式完成数据的获取工作,今天刚好接触了WebApi的功能,记录下来供自己梳理 基本环境:编译器VS2015 电脑:Win10  ...
  • wtfheyy
  • wtfheyy
  • 2016年11月14日 20:03
  • 3815

简单的Socket示例

【服务器端步骤】 初始化Windows Socket库 创建Socket: socke函数 绑定Socket: bind函数 监听Socket: listen 接受Socket:accept...
  • qq_27991659
  • qq_27991659
  • 2016年05月24日 15:04
  • 557

《Asp.Net Web API》-----webApi的简单使用

前言:在公司工作的时候,经理跟我说我们后台用的是WebApi技术,说它是一种轻量级的WCF,我以前用过WCF,但是对于WebApi有点不熟悉,但是经理说和WCF相似,我渐渐的对着门技术变得渐渐的好奇起...
  • u013067402
  • u013067402
  • 2016年09月29日 16:16
  • 7848

MyBatis学习(一)一个简单的例子

 求职中,加紧学习。我对MyBatis的理解仅仅是:它以前叫IBtais,现在投到谷歌帐下,改名MyBatis,这个框架把JDBC中的重复代码封装起来,减少代码量。仅仅知道这些而已,慢慢学习吧,从网上...
  • wanda39kela
  • wanda39kela
  • 2010年12月28日 16:55
  • 17556

fragment简单例子

Android Fragment完全解析,关于碎片你所需知道的一切 分类: Android疑难解析 2013-05-07 09:33 5093人阅读 评论(21) 收藏 举报 android...
  • u011382076
  • u011382076
  • 2013年09月02日 10:33
  • 1045

ASP.NET Web API使用示例

上篇博客讲解rest服务开发时,曾经提到过asp.net mvc中的rest api,由于篇幅原因,没有在上篇博客中进行讲解,这里专门拿出来进行讨论。还是一样引用上次的案例,用asp.net 提供的w...
  • guwei4037
  • guwei4037
  • 2014年03月16日 20:17
  • 33610
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WEBAPI 的简单示例
举报原因:
原因补充:

(最多只允许输入30个字)