我正在开展一个项目,我的基本控制器有Get(int id)
,GetElements()
,UpdateElement(int id, Element element)
,AddElement(Element element)
,DeleteElement(int id)
。
每种方法都使用[Route]
和[Get]
...注释和返回以及IHttpActionResult
。
我对[ResponseType(typeof(...))]感到困惑。它是为了什么?何时以及如何正确使用它?
我应该写这样的东西吗?
[ResponseType(typeof(IEnumerable<Element>))]
的{{1}}?
谢谢!
答案 0 :(得分:8)
fwrite
属性有助于创建RESTful Web API以及通过Swagger / Swashbuckle自动生成文档。
例如,基于id返回项目的方法可以像这样编写
[ResponseType()]
但是,如果找不到该项,它将返回null,而不是404。
因此可以更好地写成
public YourClass Get(int id)
{
var item = repo.GetById(id);
return item;
}
另请参阅自定义Swashbuckle以及它如何使用ResponseType属性来确定文档https://azure.microsoft.com/en-gb/documentation/articles/app-service-api-dotnet-swashbuckle-customize/