#swashbuckle
Вопрос:
текущее приложение с использованием Swashbuckle.AspNetCore версии 1.1.0 в этом году нацелен на выполнение платформы до .net core 3.1 или .net 5 одновременно с обновлением Swashbuckle.AspNetCore до 6.1.5 выясните, что у вас больше нет идентификатора операции и вам нужно настроить его со ссылкой https://github.com/domaindrivendev/Swashbuckle.AspNetCore/большой двоичный объект/мастер/README.md#назначить-явные-идентификаторы операций
меня беспокоит, как вернуть тот же идентификатор операции (такой же, как версия 1.1.0)
ниже приведен пример моего результата swagger json от версии 1.1.0
маршрут api с параметром (сложный)
{
"/api/Games/{id}": {
"post": {
"tags": ["Games"],
"operationId": "ApiGamesByIdPost"
}
}
}
обычный образец
{
"/api/Games/Sequence": {
"get": {
"operationId": "ApiGamesSequenceGet"
}
я бы разрешил ниже один, используя
options.CustomOperationIds(apiDesc =>
{
return apiDesc.RelativePath.Replace("/", "") apiDesc.HttpMethod;
});
но он разрешен только для обычного образца, но не для маршрута api с параметром
Ответ №1:
Вы можете поместить любую строку в Name
свойство в атрибуте метода HTTP
[HttpPost("someobject/add", Name = "ApiGamesSequenceGet")]
Swashbuckle примет это значение как operationId
для вашего метода действий.