天下之事,必先处之难,而后易之。

ASP.NET发布Web API接口时请求方式版本差异问题

从Java到ASP.NET,过渡到接口发布上层,HTTP请求方式不外乎那么几种:GET、POST、PUT、DELETE等这些都是标准。在ASP.NET中因MVC版本差异而出现了不同的写法,下面我们就来看一看。

AcceptVerbsAttribute 类

显示: 继承 保护
 名称说明
公共方法AcceptVerbsAttribute(String[])使用操作方法将响应的 HTTP 谓词的列表来初始化 AcceptVerbsAttribute 类的新实例。
公共方法AcceptVerbsAttribute(HttpVerbs)使用操作方法将响应的 HTTP 谓词来初始化 AcceptVerbsAttribute 类的新实例。

注:属性支持字符串的请求标记类型和HttpVerbs的枚举类型。

HttpVerbs 枚举

 成员名称说明
 Get检索由请求的 URI 标识的信息或实体。
 Post发布新实体作为对 URI 的补充。
 Put替换由 URI 标识的实体。
 Delete请求删除指定的 URI。
 Head检索由请求的 URI 标识的信息或实体的消息头。
 Patch请求将请求实体中描述的一组更改应用于请求 URI 所标识的资源。
 Options表示由请求 URI 标识的请求/响应链上提供的通信选项的相关信息请求。
MVC2.0+与之前API请求方式的区别

请参考:

System.Web.Http.AcceptVerbs(“GET”) vs System.Web.Http.HttpGet

What is the difference between [AcceptVerbs(HttpVerbs.Post)] and [HttpPost]?

asp.net mvc - [HttpPost/HttpGet] vs. [AcceptVerbs(HttpVerbs.Post/Get)]

示例程序:

[AcceptVerbs("GET","POST")]
public IHttpActionResult Login([FromUriOrBody]LoginModel login)
{
            return Ok(login);
}

mvc2.0+以上版本:

[HttpGet]
[HttpPost] 
public string Login([FromUriOrBody]LoginModel login)
{
            return Ok(login);
}
所以,不必在此纠结写法的问题,他们只是版本不同造成的写法不一样而已。



posted @ 2022-08-26 11:44  boonya  阅读(5)  评论(0)    收藏  举报  来源
我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。