【发布时间】:2015-04-20 02:39:21
【问题描述】:
我正在使用 ASP.NET Web API,它可以方便地自动为我的 API 生成文档,但其中一些没有意义。
以下面的截图为例。
这是GET 用户 ID 的端点,在 Resource Description 部分它显示了一个表格,其中显示了用户模型的属性,因为我的控制器操作具有 [ResponseType(typeof(User))] 注释。
首先,在我的实际控制器操作中,我在向用户显示结果之前剥离了Password 属性,以免暴露敏感信息。所以Resource Description 部分中给出的表格是不正确的,它说我的 API 返回了它没有返回的字段。
其次,在Additional Information 列下,它显示了与User 模型一起使用的验证规则。方便,但在这种情况下根本不相关,因为此端点用于 GETing 用户,而不是 POSTing 用户。
所以,我的问题是如何自定义此 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 文件中读取文档,该文件是在我构建项目时从这些 /// cmets 构建的。
谢谢!
【问题讨论】:
标签: c# asp.net asp.net-web-api asp.net-web-api-helppages