Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将Swagger UI添加到自定义.NET Web API_Asp.net_.net_Asp.net Web Api_Swagger_Swashbuckle - Fatal编程技术网

Asp.net 将Swagger UI添加到自定义.NET Web API

Asp.net 将Swagger UI添加到自定义.NET Web API,asp.net,.net,asp.net-web-api,swagger,swashbuckle,Asp.net,.net,Asp.net Web Api,Swagger,Swashbuckle,我想将Swagger UI集成到我的C#.Net Web API项目中。这与传统的WebAPI项目不同,在传统的WebAPI项目中,您可以安装一个像Swashback这样的工具,然后该工具将获取控制器类中定义的HTTP路由并创建UI 我拥有的是一个定制实现,它为不同的路由生成OpenAPI/Swagger 3.0 yaml文件 我在接受变量的通用控制器文件中定义了一个路由- http://localhost:8000/myapp/swagger/{document_name} 其中docume

我想将Swagger UI集成到我的C#.Net Web API项目中。这与传统的WebAPI项目不同,在传统的WebAPI项目中,您可以安装一个像Swashback这样的工具,然后该工具将获取控制器类中定义的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
在上面的示例中,我的代码将为sedan和suv返回不同的openapi规范

到目前为止,URL只是以纯文本形式返回OpenAPI3.0YAML规范。我希望能够做到的是能够让这个文件在Swigger UI中表示为与此类似的内容-


这可能吗?我可以用Swashback吗?我是否需要执行自定义实现来托管Swagger UI?最好的方法是什么?

如果您已经拥有OpenAPI/Swagger 3.0 yaml文件,那么您所需要的只是UI,并且您有几个选项:

  • 将UI文件复制到服务器。
    这将为您提供最大的灵活性,允许您使用
    您只需要dist文件夹中的文件:

  • 使用petstore或任何其他现有UI并将文件作为参数传递,如下所示:


谢谢您的回复。我想在.NET OWIN项目中托管UI。我不知道如何通过OWIN提供Swagger UI dist文件夹?有什么想法吗?@sandunes90听起来像是StackOverflow的另一个问题。。。我如何使用OWINI提供静态内容?我确实提出了-。接下来,我能够在OWIN中使用“UseStaticFiles”选项。有没有更好的方法来实现这一点,而不是文件,招摇过市的“Index.html”将接受YAML/JSON定义文本?而不是使用定义文件的路径?@sandunes90您的意思是: