要自定义或显式设置Swagger操作ID,可以使用SwaggerOperationAttribute
来为每个操作设置唯一的ID。以下是一个示例解决方案,展示了如何使用SwaggerOperationAttribute
来自定义Swagger操作ID。
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace YourNamespace
{
[Route("api/[controller]")]
[ApiController]
public class YourController : ControllerBase
{
[HttpGet("{id}")]
[SwaggerOperation(OperationId = "GetById")]
public IActionResult GetById(int id)
{
// Your logic here
return Ok();
}
[HttpPost]
[SwaggerOperation(OperationId = "Create")]
public IActionResult Create([FromBody] YourModel model)
{
// Your logic here
return Ok();
}
[HttpPut("{id}")]
[SwaggerOperation(OperationId = "UpdateById")]
public IActionResult UpdateById(int id, [FromBody] YourModel model)
{
// Your logic here
return Ok();
}
[HttpDelete("{id}")]
[SwaggerOperation(OperationId = "DeleteById")]
public IActionResult DeleteById(int id)
{
// Your logic here
return Ok();
}
}
public class YourModel
{
// Your model properties here
}
}
在上述示例中,我们在每个操作上使用SwaggerOperation
属性来设置操作ID。例如,GetById
操作的ID设置为"GetById"
,Create
操作的ID设置为"Create"
,依此类推。
请注意,SwaggerOperationAttribute
位于Swashbuckle.AspNetCore.Annotations
命名空间中。确保在使用之前将其添加为依赖项。
当你启动应用程序并访问Swagger UI时,它将显示自定义的操作ID。