我想将Swagger UI集成到我的C#.Net Web API项目中。这与传统的Web API项目不同,在传统的Web API项目中,您可以安装SwashBuckle之类的工具,然后该工具将提取控制器类中定义的HTTP路由并创建UI。
我拥有的是一个自定义实现,可以为不同的路由生成OpenAPI / Swagger 3.0 yaml文件。
我在通用控制器文件中定义了一个路由,该路由接受变量-
http://localhost:8000/myapp/swagger/{document_name}
其中document_name是变量。我的代码使用了此变量,并根据该值生成了自定义文档。
http://localhost:8000/myapp/swagger/sedan
http://localhost:8000/myapp/swagger/suv
在上面的示例中,我的代码将为轿车和suv返回不同的Open API规范。
到目前为止,URL仅以纯文本形式返回Open API 3.0 YAML规范。我想要做的就是能够在Swagger UI中表示与此文件类似的文件-
这可能吗?我可以使用Swashbuckle吗?我是否需要执行自定义实现来托管Swagger UI?最好的方法是什么?
答案 0 :(得分:1)
如果您已经拥有OpenAPI / Swagger 3.0 yaml文件,则只需要UI,并且有一些选择:
将UI文件复制到您的服务器。
这将为您提供最大的灵活性,允许您使用configuration parameters
进行自定义
您只需要dist文件夹中的文件:
https://github.com/swagger-api/swagger-ui/tree/master/dist
使用petstore或任何其他现有的UI并将您的文件作为参数传递,如下所示:
http://petstore.swagger.io/?url=https://raw.githack.com/heldersepu/hs-scripts/master/swagger/swagger_aws.json