我正在使用 ASP.NET Web API,它可以方便地自动为我的 API 生成文档,但其中一些没有意义。
以下面的截图为例。
这是GET
用户 ID 的端点,在该Resource Description
部分中它显示了一个表格,该表格显示了用户模型的属性,因为我的控制器操作具有[ResponseType(typeof(User))]
注释。
首先,在我的实际控制器操作中,我在Password
向用户显示结果之前剥离了属性,以免暴露敏感信息。所以该Resource Description
部分中给出的表格是不正确的,它说我的 API 返回了它没有返回的字段。
其次,在该列下,它显示了与模型Additional Information
一起使用的验证规则。User
很方便,但在这种情况下根本不相关,因为这个端点是给GET
用户的,而不是给一个用户的POST
。
所以,我的问题是如何自定义此Resource Description
表以指定自己返回哪些字段并隐藏 EF 验证?
我目前已经这样评论了我的控制器操作:
/// <summary>
/// Get a single user identified by ID.
/// </summary>
/// <param name="userId">The ID of the user.</param>
/// <returns>A data collection about the user.</returns>
[ResponseType(typeof(User))]
[Route("api/v1/users/{userId}", Name="GetUser")]
[HttpGet]
public IHttpActionResult GetUser(int userId)
{
// ...
}
并且我已将帮助页面配置为从///
构建项目时从这些注释构建的 XML 文件中读取文档。
谢谢!