2017-08-25 96 views
2

您可能会认为这个问题可能会重复,但我找不到任何有用的答案来解决我的问题。Asp.Net Web API中ResponseTypeAttribute的主要用途是什么

这是我的控制器操作

[HttpPost] 
[ResponseType(typeof(UserInputModel))] 
public IHttpActionResult GetUsers(UserInputModel userModel) 
{   
    if(adminBao.GetUsers(userModel)==null) 
    { 
     return NotFound(); 
    } 
    return Ok(adminBao.GetUsers(userModel)); 
} 

这有什么区别在输出的时候我删除[ResponseType(typeof(UserInputModel))]

我知道这是用来提示关于通用返回类型的网页API ...但是它对回应有什么影响?

能有人帮我了解这个

回答

1

但它作出的反应有什么影响?

它对实际响应没有影响。它主要用于文档目的。

它的主要目的是当动作定义中使用抽象时,ApiExplorer知道Action返回的是什么类型。

探险家将无法确定从HttpResponseMessageIHttpActionResult或其衍生产品之一。

这种方式生成文档时可以显示正确的类型。

ResponseTypeAttribute Class

使用此功能时, 声明的返回类型为HttpResponseMessageIHttpActionResult指定由一个操作返回的实体类型。当生成 ApiDescription时, ResponseType将被ApiExplorer读取。

相关问题