我有一个Java 11 Spring Boot 2.5.1应用程序。
Swagger通过http在本地工作:
我添加了Swagger,它在我的本地主机上非常有效:
http://localhost:8085/swagger-用户界面/索引。html#/
Swagger无法通过https远程工作:
但是,当我将其部署到远程服务器时,会出现以下错误:
https://mycompany.co/pow-wow/swagger-ui/index.html#/
错误
无法加载远程配置。
注意:远程服务器是通过https访问的。
RESTendpoint可在远程服务器上访问。
e、 g.获取https://mycompany.co/pow-wow/powwow/test-me按预期返回200。
问题
如何通过远程服务器访问Swagger?
代码
pom.xml
<!-- Swagger -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.7</version>
</dependency>
WebSecurity配置。Java语言
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
//http.csrf().disable().authorizeRequests().antMatchers("/powwow/*").hasRole("USER").and().httpBasic();
//http.csrf().disable().authorizeRequests().antMatchers("/*").permitAll().and().httpBasic();
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
.authorizeRequests().antMatchers("/soapWS/**").permitAll().and()
.authorizeRequests().antMatchers("/swagger-ui/**", "/v3/api-docs/**").permitAll().and()
.authorizeRequests().antMatchers("/actuator/**").permitAll()
.anyRequest().authenticated().and()
.httpBasic().and()
.csrf().disable();
}
}
更多信息:
访问Swagger时,在浏览器中查看网络流量。
本地电话:
http://localhost:8085/v3/api-文档/招摇过市配置
返回值:
{"configUrl":"/v3/api-docs/swagger-config","oauth2RedirectUrl":"http://localhost:8085/swagger-ui/oauth2-redirect.html","url":"/v3/api-docs","validatorUrl":""}
远程呼叫:
https://mycompany.co/v3/api-docs/swagger-config
它返回302
。
但https://mycompany.co/pow-wow/v3/api-docs/swagger-config
返回值:
{"configUrl":"/v3/api-docs/swagger-config","oauth2RedirectUrl":"http://localhost:8085/swagger-ui/oauth2-redirect.html","url":"/v3/api-docs","validatorUrl":""}
因此,这表明问题与调用中缺少/pow-wow
上下文路径有关。
尝试将其添加到安全配置类中
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/swagger-ui/**", "/v3/api-docs/**");
}
你应该试着加上
springdoc:
swagger-ui:
config-url: /pow-wow/v3/api-docs/swagger-config
url: /v3/api-docs
到您的应用程序。属性。在您提供的示例中
https://mycompany.co/pow-wow/v3/api-docs/swagger-config
它显示您的路径中有“/pow-wow/”。Swagger需要知道在哪里获取它的配置。
带Springdoc的Spring Boot 2.6.3。 在,当我将路径设置为/v3/api docs或将其删除时,这意味着使用默认路径“/v3/api docs”。Swagger UI页面与API一起正确显示http://localhost:8080/swagger-用户界面/索引。html 但我想覆盖下面的路径 然后SwaggerUI显示"加载远程配置失败"错误:
此篇文档主要讲在应用启动阶段,Dubbo框架如何将所需要的配置采集起来(包括应用配置、注册中心配置、服务配置等),以完成服务的暴露和引用流程。 根据驱动方式的不同(比如Spring或裸API编程)配置形式上肯定会有所差异,具体请参考XML配置、Annotation配置、API配置三篇文档。除了外围驱动方式上的差异,Dubbo的配置读取总体上遵循了以下几个原则: Dubbo支持了多层级的配置,并按预
我有几个微服务,它们都在尤里卡(发现客户端)注册。最近,我为所有微服务启用了Swagger2(SpringFox)。 一旦我启用了swagger,我的微服务就开始向Eureka注册为“Uknown”服务,并使用默认的8080端口注册。 我的应用程序类是这样的。 我已尝试从应用程序中移动我的Eureka配置。yml到引导。yml。但是,如果我移动功能区,我的客户端将无法获取应用程序实例和Eureka
Swagger配置不起作用我在springboot中使用swagger,当我点击这个URL http://localhost:8080/swagger-ui . html时,我得到了错误404。我创建了单独的配置文件,但未能加载资源:服务器响应的状态为404()这里是所有文档的详细信息 UserCongig.kt 程序包com.main.swaggerdemo.config UserControl
问题内容: 更新: 为避免问题完全归因于同一原产地政策的可能性,我尝试在本地提供服务,因为所有资产都来自使用 Serve 。它没有解决问题。因此,由于相同的原始策略,可能无法编辑小提琴,但是您可以在此处看到代码。 我正在尝试使用Dynatable加载外部JSON,跳过读取/标准化步骤(该步骤从现有表生成JSON)。应该支持它,但是它对我不起作用。 这是我对JSFiddle的尝试。从小提琴中可以看出
void config_load(string file [, string section]) This loads config file data and assigns it to the template. This works identical to the template config_load function. 加载配置文件,并将其中的数据传送到模板中,它的功能和config