我的代码中XML注释部分中的以下注释显示在Swagger中-
/// <remarks>
/// {
/// "your_val": "1a",
/// "member": "Test"
/// }
///</remarks>
我注意到最后一个值(在这种情况下为Test
)始终带有斜体引号(红色箭头)。有谁知道如何将其更改为常规报价?例如,就像它们用于1a(蓝色箭头)。
答案 0 :(得分:0)
在创建操作方法文档中添加备注元素。它补充了 summary 元素中指定的信息,并提供了更强大的Swagger UI。 注释元素的内容可以包含文本,JSON或XML。
因此,为了修复备注并以正确的方式生成Swagger文档,您必须在打开备注标记后添加文本,并添加一个换行,然后添加一个请求示例。
另一个重要的细节是缩进,您必须应用适当的代码缩进。
请在下面找到您当前的情况,解决问题的方法和两个示例。
之前-错误(您的情况)
/// <remarks>
/// {
/// "your_val": "1a",
/// "member": "Test"
/// }
之后-正确
/// <remarks>
/// [Description]:
///
/// {
/// "your_val": "1a",
/// "member": "Test"
/// }
///</remarks>
示例01:
/// <summary>
/// Creates a Item From Query (Default)
/// </summary>
/// <remarks>
/// Sample request:
///
/// POST /api/Items/CreateViaQuery
/// {
/// "code": "0001",
/// "description": "Item1"
/// }
///
/// </remarks>
/// <param cref="CreateItemViewModel" name="createItemViewModel">Create Item View Model</param>
/// <returns>A newly created Item</returns>
/// <response code="201">Returns the newly created item</response>
/// <response code="400">If the item is null</response>
[HttpPost("CreateViaQuery")]
[ProducesResponseType((int)HttpStatusCode.Created)]
[ProducesResponseType((int)HttpStatusCode.BadRequest)]
public ActionResult<CreateItemViewModel> CreateViaQuery(CreateItemViewModel createItemViewModel)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
return Created("", createItemViewModel);
}
示例02:
/// <summary>
/// Creates a Item From Body
/// </summary>
/// <remarks>
/// Sample request:
///
/// POST /api/Items/CreateViaBody
/// {
/// "code": "0001",
/// "description": "Item1"
/// }
///
/// </remarks>
/// <param cref="CreateItemViewModel" name="createItemViewModel">Create Item View Model</param>
/// <returns>A newly created Item</returns>
/// <response code="201" cref="CreateItemViewModel">Returns the newly created item</response>
/// <response code="400">If the item is null</response>
[HttpPost("CreateViaBody")]
[ProducesResponseType((int)HttpStatusCode.Created)]
[ProducesResponseType((int)HttpStatusCode.BadRequest)]
public ActionResult<CreateItemViewModel> CreateViaBody([FromBody]CreateItemViewModel createItemViewModel)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
return Created("", createItemViewModel);
}
有关更多信息,请查看以下文章: Get started with Swashbuckle and ASP.NET Core
希望这对您有所帮助。