web api学习笔记

WCF 定义为后台接口,调用的是方法


RESTful:是一种架构风格,就是以资源为视角,来描述服务的。

       移动互联网:json/xml来描述,http方法, 统一了数据操作


表现层的状态转换:资源 ,统一接口,URI,无状态


   资源:实体就是资源, json/xml/数据流

   统一接口:CRUD,通过http的Method体现  get  post put/patch  delete

  无状态:http无状态  前后没有关联


路由:

1。 启动 Application_Start--WebApiConfig.Register 把路由规则写入一个容器

2。 运行  请求会去容器匹配--找控制器--然后找Action:

     a  以特性为准 [HttpGet]

     b  以Get开头

     c  优先最匹配   api/values/1--Get(int id)


几个问题:

(1)一个资源,同一种操作更新,可能有多个来源途径

(2)版本号  v1/v2


针对(1),MVC提供了特性路由

它在Global.asax.cs里定义

   GlobalConfiguration.Configure(WebApiConfig.Register);

  // Web API 路由

            config.MapHttpAttributeRoutes();


路由规则由ApiController里的Get等方法的特性来定义

例如:

[Route("api/values")]   它表示访问规则是:  api/values


[Route("api/values/{id}]"  它表示: api/values/5


[Route("api/values/{name}")]

 public string GetByName(string name)

{

   return "valueName";

}


[Route("api/values/{name}/ShortName")]   --为了与上面的区分,写成这样

 public string GetByShortName(string name)

{

   return "valueShortName";

}


[Route("api/values/GetByMiddleName/{name}")]

 public string GetByMiddleName(string name)

{

   return "valueMiddleName";

}


[Route("api/values/{id:int}/GetById")]   --约束为int

public string GetById(int id)

{

  return "value GetByID";

}


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2024-05-27 13:35:47 编辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864