如何强制 NSwag 在 Web API 调用的自动生成的 swagger json 中包含来自 xml 评论的自定义响应代码
How to force NSwag to include custom response codes from xml comments at the auto-generated swagger json of a web API call
这是在clean1.csproj文件中根据NSwag's documentation
添加的定义
<Target Name="AfterBuild">
<Exec Command="$(NSwagExe) webapi2swagger /assembly:$(OutDir)/Clean1.dll /referencepath: $(ProjectDir) /output:$(ProjectDir)/clean1swagger.json" />
问题是只生成了 200 个响应代码,例如:
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/Product"
},
"x-nullable": true
}
}
以下是控制器演示电话中的 XML 评论。
/// <summary>
/// Gets a product by Id
/// </summary>
/// <remarks>
/// Remarks-description text.
/// </remarks>
/// <response code="200">test 200</response>
/// <response code="201">test 201/response>
/// <response code="400">test 400</response></response>
[HttpGet]
[ResponseType(typeof(Product))]
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
json 应包含并自动生成其他回复。
这目前是不可能的。我们考虑过添加此功能,但在大多数情况下,您需要指定类型,而这不能通过 xml 评论来完成。现在您必须为此使用 SwaggerResponseAttribute。但是请在 Github 上创建一个问题,以便将来考虑添加该功能...
这是在clean1.csproj文件中根据NSwag's documentation
添加的定义 <Target Name="AfterBuild">
<Exec Command="$(NSwagExe) webapi2swagger /assembly:$(OutDir)/Clean1.dll /referencepath: $(ProjectDir) /output:$(ProjectDir)/clean1swagger.json" />
问题是只生成了 200 个响应代码,例如:
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/Product"
},
"x-nullable": true
}
}
以下是控制器演示电话中的 XML 评论。
/// <summary>
/// Gets a product by Id
/// </summary>
/// <remarks>
/// Remarks-description text.
/// </remarks>
/// <response code="200">test 200</response>
/// <response code="201">test 201/response>
/// <response code="400">test 400</response></response>
[HttpGet]
[ResponseType(typeof(Product))]
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
json 应包含并自动生成其他回复。
这目前是不可能的。我们考虑过添加此功能,但在大多数情况下,您需要指定类型,而这不能通过 xml 评论来完成。现在您必须为此使用 SwaggerResponseAttribute。但是请在 Github 上创建一个问题,以便将来考虑添加该功能...