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);
}
所以,不必在此纠结写法的问题,他们只是版本不同造成的写法不一样而已。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值