虚张声势.AspNetCore升级得到类似的操作id



当前应用程序使用Swashbuckle。AspNetCore版本1.1.0今年的目标是执行框架到。net core 3.1或。net 5同时升级Swashbuckle。AspNetCore升级到6.1.5Find out不再有operationid,需要自定义它参考https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/master/README.md#assign-explicit-operationids

我关心的是如何获得相同的operationid(与1.1.0版本相同)

下面是1.1.0版本的swagger json输出示例

api route with parameter (difficult)

{
"/api/Games/{id}": {
"post": {
"tags": ["Games"],
"operationId": "ApiGamesByIdPost"
}
}
}

正常样本

{
"/api/Games/Sequence": {
"get": {
"operationId": "ApiGamesSequenceGet"
}

i将被解析为

options.CustomOperationIds(apiDesc =>
{
return apiDesc.RelativePath.Replace("/", "") + apiDesc.HttpMethod;
});

,但它只能解析正常样本,而不能解析带有参数

的API路由。

您可以将任何字符串放入HTTP方法属性

Name属性中。
[HttpPost("someobject/add", Name = "ApiGamesSequenceGet")]

Swashbuckle将把该值作为动作方法的operationId

最新更新