码迷,mamicode.com
首页 > Windows程序 > 详细

【WebAPI】学习WEBAPI笔记1_20180324

时间:2018-04-08 18:15:12      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:containe   ble   rabl   创建   服务层   depend   格式   代码   配置文件   

[日期2180324(六)]

ASP.NET WebAPI  

  WEBAPI能负责构建http常规的服务,和SingalR一起架构Service服务层,SingalR可以做比较高级的服务,如实时服务。而WebAPI是很简单的一个架构,只是发布一些简单的http请求服务,但不需建SOAP格式,较开源开放形式。

它的功能

  支持http verb(get/post,还有少用的delete,put)的增删改查服务。

  支持JSON和XML,还有自定义格式。

  支持MVC大部分功能,如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。(所以还是要学学MVC,最起码这些。。)

  原生的api支持oData(虽然不懂)

WebAPI和MVC的区别

  1.MVC主要是网站,要数据和页面,WebAPI只负责数据;

  2.WebAPI用http verb表达行动,MVC用action表达行动(这个我知道)

  3.WebAPI在System.Web.Http,MVC在System.Web.MVC

[日期20180325(日)]

创建 WebAPI(基于MVC和独立创建)

  1.打开VS2013 - 创建项目-Web-ASP.NET Web应用程序 -选择WebAPI,创建好后会有MVC基本框架,和WebAPI的2个文件,WebApiConfig.cs(配置文件)和ValuesController.cs(控制器)

  2.独立的创建空项目,然后点击项目到NuGet找Web API引用,引用后会有基本的框架。

第一个WebAPI控制器

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

namespace WebApplication3.Controllers
{
    public class BaseController : ApiController
    {
        // GET: api/Base
        [HttpGet]
        public IEnumerable<string> GetList()
        {
            //访问:http://location:1234/api/values
            //get方式
            return new string[] { "value1", "value2" };
        }

        // GET: api/Base/5
        [HttpGet]
        public string GetModel(int id)
        {
            //访问:http://location:1234/api/values?id=1
            //get方式
            return "value";
        }

        // POST: api/Base
        [HttpPost]
        public void Post_Add([FromBody]string value)
        {
            //访问:http://location:1234/api/values
            //post方式

        }

        // PUT: api/Base/5
        [HttpPut]
        public void Put_Update(int id, [FromBody]string value)
        {
            //访问:http://location:1234/api/values?id=1
            //put方式
        }

        // DELETE: api/Base/5
        [HttpDelete]
        public void DeleteModel(int id)
        {
            //访问:http://location:1234/api/values?id=1
            //delete方式
        }
    }
}

  这个就是生成的ValuesController.cs里的代码,方法名自己命名了,然后上面加动词属性。有点类似MVC。

  访问地址规则可以在WebApiConfig.cs里修改。

  控制器必须继承System.Web.HTTP.ApiController,然后你就可以在任何文件夹里创建(建议还是在专门的文件夹里)

  

【WebAPI】学习WEBAPI笔记1_20180324

标签:containe   ble   rabl   创建   服务层   depend   格式   代码   配置文件   

原文地址:https://www.cnblogs.com/laokchen/p/8641963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!