在Swagger中更改API路由名称

问题描述

有人对如何更改swagger上的API调用名称有确切的想法吗,确切地显示'/ api / Users',但我希望它显示'GetUsersByID ,如果您在下面的图片中看到路线刚到。我已经厌倦了[HttpGET("{id}",Name = "GetUsersByID")]的使用,但是大摇大摆似乎忽略了这一点。 Screenshot Here

我正在使用.Net Core 3.1和最新的swashbuckle nuget。任何帮助将不胜感激。

解决方法

@nalnpir回答了您提出的问题,但是 GetUsersByID是REST API的可怕名称,您不应使用它。它显示了一个非常RPC-like interface,并且根本不是REST。

阅读此 REST Resource Naming Guide 以获得更多详细信息,如果您今天感觉很好,您应该观看这部有趣的视频,尽管有趣,但它非常有用:-D

video You Give Rest a Bad Name

,

我不知道格式,因为即时阅读是自动的,并且是框架附带的,但是它适用于您发送的标头,默认情况下是json,如果您指定xml,它将是xml

但是您想要实现的目标非常简单,更改您的方法标签,使其看起来像这样

[HttpGet]
[Route("GetUsersByID"]
public async Task<IActionResult> YourMethod(int id)
{
//code of your method
}