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; }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hyunbar/article/details/79298638

如何在ASP.Net中取得环境变量的值

如何在ASP.Net中取得环境变量的值 http://www.tongyi.net  作者:飞刀  出处:aspcn.com    点击:393       这个小程序中,我会教大家如何在ASP.Ne...
  • gnuljf
  • gnuljf
  • 2001-05-26 11:13:00
  • 1138

c# 【MVC】WebApi开发实例

using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using S...
  • smartsmile2012
  • smartsmile2012
  • 2016-06-08 14:39:11
  • 13837

Web Api使用详解(全部实例讲解,可直接运行看效果)

  • 2017年08月24日 10:20
  • 22.22MB
  • 下载

Asp.net WebApi 项目示例(增删改查)

1.页面运行效果
  • xuanwuziyou
  • xuanwuziyou
  • 2014-06-25 16:36:04
  • 8312

使用ASP.Net WebAPI构建REST服务(一)——简单的示例

使用ASP.Net WebAPI构建REST服务(一)——简单的示例 由于给予REST的Web服务非常简单易用,它越来越成为企业后端服务集成的首选方法。本文这里介绍一下如何通过微软的Asp....
  • mengzhengjie
  • mengzhengjie
  • 2016-09-01 10:43:46
  • 4450

ASP.NET WEB API入门实例

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

webapi上传示例及调用方式

调用事件(方法): protected void btn_Click(object sender, EventArgs e) { using (var cli...
  • qq_31971935
  • qq_31971935
  • 2016-11-08 13:34:01
  • 1433

WebAPI 实例

  • 2014年04月14日 21:40
  • 936KB
  • 下载

ASP.NET Web API使用示例

上篇博客讲解rest服务开发时,曾经提到过asp.net mvc中的rest api,由于篇幅原因,没有在上篇博客中进行讲解,这里专门拿出来进行讨论。还是一样引用上次的案例,用asp.net 提供的w...
  • guwei4037
  • guwei4037
  • 2014-03-16 20:17:10
  • 34802

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

一、创建Web API1、创建一个新的web API项目启动VS 2013,并在“开始页”选择“新项目”。或从“文件”菜单选择“新建”,然后选择“项目”。在“模板”面板中选择“已安装模板”,并展开“V...
  • lwpoor123
  • lwpoor123
  • 2017-10-19 15:10:30
  • 2257
收藏助手
不良信息举报
您举报文章:WEBAPI 的简单示例
举报原因:
原因补充:

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