WebAPI学习WEBAPI笔记1_20180324

Posted laokchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebAPI学习WEBAPI笔记1_20180324相关的知识,希望对你有一定的参考价值。

[日期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的主要内容,如果未能解决你的问题,请参考以下文章

跨域学习笔记1--跨域调用webapi

学习WebAPI笔记

WebAPI(part6)--自定义属性操作

20181124_webAPI基础01_创建一个基础的WebAPI项目

Swagger在WebAPI下的使用

WebApi学习系列