在我的Azure函数中,我添加了Swashbuckle,它正在运行。
[SwaggerIgnore]
[FunctionName("swaggerUi")]
public static Task<HttpResponseMessage> SwaggerUi(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = SwaggerRoutes.UiRoute)]
HttpRequestMessage req,
[SwashBuckleClient] ISwashBuckleClient swashBuckleClient)
{
return Task.FromResult(swashBuckleClient.CreateSwaggerUIResponse(req,
req.CreateSwaggerDocumentRoute()));
}
现在,我想使用有关我的api的一些信息来自定义标题。
我发现一个post,那个家伙说这足以在host.json
中添加一些配置,例如:
{
"version": "2.0",
"extensions": {
...
"Swashbuckle": {
"Documents": [
{
"Title": "YOUR_TITLE",
"Version": "v1",
"Description": "YOUR_DESCRIPTION"
}
]
}
}
}
但是对我来说,它不起作用。有必要做什么?
好,现在我设法使其正常运行。当您在Visual Studio中创建新的Azure函数时,默认情况下会创建一个在.netcore3.0
上运行的V3 Azure函数。
首先我没有注意到,并安装了此nuget AzureFunctions.Extensions.Swashbuckle;
添加了两个功能,一个给Swagger JSON
,另一个给Swagger UI
当我运行该应用程序时,它给出了一些无关的错误。经过快速搜索,我最终找到了此Github Issue #21
此后,我迅速检查了它指向最新的Microsoft.Net.Sdk.Functions
的V3.x
版本,并将其降级为V1.0.36
我编辑了我的func.csproj
,并使用Azure func v2将目标框架指向了.netcore2.1
<TargetFramework>netcoreapp2.1</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
route
的文章被提及为/
,如果使用它,那么您将获得RoutePatternException
运行时,控制台显示
这里浏览以查看SwaggerUI
是否有效
我也测试了SwaggerJSON