【问题标题】:Swagger ui using ip and port instead of domain nameSwagger ui 使用 ip 和端口而不是域名
【发布时间】:2021-06-12 15:20:36
【问题描述】:

我正在使用 swagger 运行一个 sprinboot 应用程序。 我只是按照教程进行操作,原则上只需在我的 pom.xml 中包含 springdoc 即可在本地工作。

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.5.5</version>
    <!--<version>1.2.32</version>-->                                                                                                                                                                                 
</dependency>

我还更改了 application.properties 文件中的默认 swagger ui 路径

springdoc.swagger-ui.path=/harri-api.html

没有做进一步的配置。

我将我的应用程序部署在服务器上(在端口 7879 上运行),在该服务器上,swagger ui 可通过其域 -harri.de/harri-api.html 使用。但是当我想使用我的 REST-API 本身时,swagger 不使用域名harri.de,而是使用服务器 ip 和端口。

也许有人可以给我一个提示,在哪里以及如何配置 swagger ui 的行为。我只想招摇用域名而不是ip:port

非常感谢提前 哈里·E。

【问题讨论】:

    标签: spring-boot configuration swagger-ui springdoc-openapi-ui


    【解决方案1】:

    只需在 Nginx 上启用主机名:

    location /openapi/ {
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_pass http://localhost:8081/openapi/;
    }
    
    

    【讨论】:

      【解决方案2】:

      我设法为我的问题实施了一个可接受的解决方案。 我在主类中添加了 OpenAPI 配置作为注释。 更具体地说,我定义了两个在 swagger ui 编辑器中可选择的服务器。

      @OpenAPIDefinition(servers = {@Server(url = "http://127.0.0.1:7879"), @Server(url = "https://harri.de/")})
      @SpringBootApplication
      public class HarriApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(HarriApplication.class, args);
          }
          ...
      }
      

      这两个服务器现在在 swagger ui 的顶部下拉菜单中可用。

      备注

      该解决方案对我有用,但有基本的缺点。配置是在我的源代码中硬编码完成的。这不是很灵活。在不同的主机上部署时,这种方法需要重新构建应用程序。

      我还尝试提供一个 yaml 配置文件来添加服务器条目。但这种方法没有奏效。引用 yaml 配置文件,例如:

      servers: 
        - url: https://harri.de
        - url: http://127.0.0.1:7879
      
      

      禁止从源代码生成我的 API 规范。它的行为不像生成规范的扩展。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多