我在docker容器中运行spring boot micro serivce,作为kubernetes吊舱运行。
当spring启动应用程序在本地运行时,swagger UI运行良好。
当部署到我们的kubernetes集群时,我们使用nginx将请求代理到pod。
我正在努力弄清楚如何让昂首阔步的用户界面与nginx一起工作。
到目前为止我尝试过的事情
在我的“ssl.conf”中,我尝试添加以下内容:;
location ~ ^/(webjars.*) {
rewrite ^/(.*)$ /$1 break;
proxy_pass https://gw-test-request:443;
}
location ~ ^/(gw.*) {
rewrite ^/(.*)$ /swagger-ui.html break;
proxy_pass https://$1:443;
}
请注意,第二个位置有一个前缀,表示我们如何使用前缀gw命名微服务模块。
有了这个,当我进入时,它会试图装出昂首阔步的样子https:///gw-test但后来却默默地失败了。它不会加载我在本地尝试时所做的一切,因为我观察到了通过的网络请求。
当它在本地工作时,我看到的网络调用;
当它在nginx后面时,我看到的网络呼叫;
任何帮助将不胜感激。
**编辑**
最后一个屏幕截图上显示的404是200秒,但它仍然没有加载Swigger UI。
**编辑**
正在使用的昂首阔步的配置;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
ApiInfo apiInfo = new ApiInfo(
"<>",
"<>",
"<>",
"<>",
new Contact("<>", "<>", "<>"),
"N/A",
"N/A",
new ArrayList<>());
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("<rest controller base package>"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo);
}
}
这通常发生在您的swagger配置中的安全协议未配置为允许https时,默认协议仅允许超文本传输协议连接,因此您必须显式设置协议以包括https
在您昂首阔步的配置中,添加以下行
.protocols(newHashSet("http", "https"));
这会解决你的问题。
问题内容: 我想知道如何用昂扬的方式记录枚举。 根据JavaDoc 数据类型。请参阅文档以获取受支持的数据类型。如果数据类型是自定义对象,请设置其名称,或不设置任何名称。如果是枚举,请为枚举常量使用’string’和allowableValues。 但是我没有找到一些好的Java示例如何真正使用它,规范在这里。 第一服务 第二服务 输入项 天 输出量 pom.xml 您可以在此处查看结果。 我看到
我试图用大摇大摆的方式来模拟REST API..我目前创建了nodejs项目,其中默认的js appreas是。/api/controllers/hello_world.js中的hello_world.js。 现在我想创建一个新的控制器,并将其引用到我的YAML,即来自SwaggerUI..我怎么做?任何链接都会很有用。
数据类型。有关支持的数据类型,请参见文档。如果数据类型是自定义对象,请设置它的名称,或者不设置任何名称。对于枚举,使用'string'和allowableValues作为枚举常量。 但是我没有找到一些好的Java示例如何真正使用它,规范在这里。 你可以在这里看到结果。 我认为是个问题... 你知道吗?
问题内容: 我正在尝试使用swagger定义post端点,但是不允许使用该参数: 当我跑步时,我得到这个: 我的规格有什么问题? 问题答案: 您可能正在混合使用OpenAPI / Swagger 2.0和OpenAPI 3.0语法。您的规格似乎是2.0,但是关键字是3.0功能。在2.0中,请求正文被定义为正文参数: 更多信息:描述请求正文
我们正在为我们的Laravel REST API实现开发Swagger文档。几个POSTendpoint将使用CSV作为参数内容类型。 Swagger中是否有一种方法可以让“立即尝试”功能与CSV POST文件上传一起使用? 下面是我们的留档http://api.curvecompass.com/docs/#/ 我们的Laravel POST函数可以正确地与CSVendpoint一起工作,而不是与
我正在用Swagger记录我的API,并将以下注释应用于我的所有REST控制器: 然而,我还想将Spring Boot Actuator(/health,/info)提供的endpoint包含在Swagger上(它们也包括在内),但是我似乎找不到一种方法来更改它们的默认描述、标记和标题以及其他Swagger属性。 有没有办法做到这一点?提前谢谢。