WebAPI知识点梳理

(一)WebAPI2

WebAPI是给前端提供数据的框架。只管提供数据,数据提供方式为以Restful Http格式。

WebAPI提供的语义场景:
Post请求:提交数据(以Post的方式提交http请求,数据库得到的插入数据)
Get请求:查询数据(有无参/有参两种形式,如Get age>20,即是有参)
Put请求:修改数据
Delete请求:删除数据

Restful风格(语义)的请求方式:Function名中必须包含请求关键字。
如:Get请求—Getxxx(),Put请求—Putxxx()

(二)创建WebAPI项目

创建WebAPI项目会默认勾选MVC框架(WebAPI项目中包括Controller和model,没有view。项目中view起提示页面的作用)

新建项目中默认有两个Controller:

  • HomeController : Controller(基类属于MVC Controller)
    是MVC控制器
  • ValuesController :ApiController(基类属于WebAPI Controller)
    是WebAPI控制器

在APIcontroller中

public class ValuesController : ApiController
    {
        // GET api/values——以get请求values会进入该方法
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
        // GET api/values/5——以get请求values(带参数)会进入此方法
        public string Get(int id)
        {
            return "value";
        }
        // POST api/values——以post请求values(无参)进入该方法
        public void Post([FromBody]string value)
        {
        }
        // PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {
        }
        // DELETE api/values/5
        public void Delete(int id)
        {
        }
    }
  • 利用get请求获取数据:
    运行代码,地址栏显示“localhost:54014”。此时输入“localhost:54014/api/values/1”,会调用有参get方法 Get(int id)
    //前缀“api”表示使用webapi接口;
    //“values”决定使用哪个控制器;
    //“1”即地址栏参数决定调用哪个方法

新建API配置:
在controller文件夹下添加WebAPI2控制器,新控制器必须保留“controller”后缀,项目中控制器名不允许重复。
配置路由:
AppStart————RouteConfig 设置MVC路由;WebApiConfig 设置WEBAPI路由

// Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}", //路由模板,规定地址栏规则为:api/controller名/id名。api路由默认要加一个前缀,避免和MNVC路由冲突
    defaults: new { id = RouteParameter.Optional }//RouteParameter.Optional的意思是:表示id是可选值
);

控制器里可以被调用的方法叫Action(行为)
*在地址栏中,?代表的是QueryString查询表达式。比如https://www.baidu.com/s?wd=“百度一下”
因此,给页面传数据内容,第一个方法就是QueryString

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值