WEBAPI 的简单示例

一、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; }
    }
}
以下是使用.NET Core创建Web API示例: 1. 创建新的.NET Core Web API项目。 2. 在Visual Studio中,选择“File”>“New”>“Project”。 3. 选择“.NET Core”>“ASP.NET Core Web Application”。 4. 命名您的项目并选择“API”模板。 5. 点击“Create”。 6. 在“Startup.cs”文件中,找到“ConfigureServices”方法,并添加以下代码: ```csharp services.AddControllers(); ``` 7. 在同一个文件中,找到“Configure”方法,并添加以下代码: ```csharp app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); ``` 8. 在您的项目中,创建一个新的控制器类。 9. 在该类中,添加以下代码: ```csharp [Route("api/[controller]")] [ApiController] public class ValuesController : ControllerBase { // GET api/values [HttpGet] public ActionResult<IEnumerable<string>> Get() { return new string[] { "value1", "value2" }; } // GET api/values/5 [HttpGet("{id}")] public ActionResult<string> Get(int id) { return "value"; } // POST api/values [HttpPost] public void Post([FromBody] string value) { } // PUT api/values/5 [HttpPut("{id}")] public void Put(int id, [FromBody] string value) { } // DELETE api/values/5 [HttpDelete("{id}")] public void Delete(int id) { } } ``` 10. 运行您的应用程序,并尝试在浏览器中访问“https://localhost:xxxx/api/values”,其中“xxxx”是您的应用程序的端口号。 11. 您应该看到一个包含“value1”和“value2”的JSON响应。 以上是一个简单的.NET Core Web API示例,您可以根据自己的需求进行修改和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值