首页 > 解决方案 > 我在 AWS 上部署的应用程序的 Swagger 基本 URL 错误

问题描述

我有一个 Spring Boot 应用程序部署并配置为 AWS Route 53 > AWS 负载平衡 -> 2 个托管 Spring Boot 应用程序的 EC2 实例。

Swagger的 URL 是 https://applicationXYZ.company.net/release/swagger-ui.html

我可以毫无问题地看到该页面。但是我们不能使用“试用”功能,因为基本 URL 是错误的。

在页面顶部,我确实将信息视为 [ Base URL: service/release]

在此处输入图像描述

我不知道“服务”在哪里成为我的基本 URL。我还点击了 api-docs 并在“主机”字段中看到了“服务器”。

你能帮忙吗?

注意:我使用的是 Spring Boot Starter 2.0.8.RELEASE 和 Swagger 2.9.2(没有任何 Spring Security)

谢谢,

标签: swaggerswagger-uiswagger-2.0

解决方案


你有没有尝试过重定向,

//Do redirection inside controller
@RequestMapping("/swagger")
public String greeting() {
    return "redirect:/swagger-ui.html";
}

您也可以尝试在 main 方法中添加 bean,

@Bean
RouterFunction<ServerResponse> routerFunction() {
    return route(GET("/swagger"), req ->
        ServerResponse.temporaryRedirect(URI.create("swagger-ui.html")).build());
}

参考:如何更改 Swagger-ui URL 前缀?


推荐阅读