我使用JAX-RS和Spring Boot和springfox从注释生成swagger-ui。
目前这些文档位于http://localhost:8080/swagger-ui.html
但是,我现在需要将其移动到http://localhost:8080/api/index.html
@Configuration
public class SwaggerUIConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/documentation/v2/api-docs", "/v2/api-docs");
registry.addRedirectViewController("/documentation/configuration/ui", "/configuration/ui");
registry.addRedirectViewController("/documentation/configuration/security", "/configuration/security");
registry.addRedirectViewController("/documentation/swagger-resources", "/swagger-resources");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/documentation/**")
.addResourceLocations("classpath:/META-INF/resources/");
}
}
如果我为文档
API
找到/替换上面的代码,我就有另一个问题,因为我的servlet已经在/api中定义了。
@SpringBootApplication
@EnableSwagger2
public class SpringApplication extends SpringBootServletInitializer {
@Bean
public ServletRegistrationBean api() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(),"/api/*");
registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, SwaggerResourceConfig.class.getName());
registration.setName("api");
return registration;
}
}
public class SwaggerResourceConfig extends ResourceConfig {
public SwaggerResourceConfig() {
register(ApiListingResource.class);
register(SwaggerSerializers.class);
}
}
我如何将swagger-ui移动到我的servlet根而不是我的上下文根?
我为你做了变通。首先,我创建了带有方法的控制器,该方法将指向索引。
@Controller
public class SwaggerUIRedirectController {
@RequestMapping("/index")
public String uiRedirectLink() {
return "index";
}
}
现在创建src/main/resources/templates文件index.html,并将此文件https://github.com/sikynko/swaggerworkaround/blob/master/index.html中的内容复制到您的文件中。
现在在src/main/resources/statig/springfox.js下创建并从
var urlMatches = /(.*)\/swagger-ui.html.*/.exec(window.location.href);
var urlMatches = /(.*)\/(.*).*/.exec(window.location.href);
我使用的是swagger版本2.2.2。如果我转到地址http://localhost:8080/swagger-ui.html,我将直接获得swagger UI。有没有办法,一个安全层可以增加,像,用户应该提示输入用户id和密码之前,大摇大摆的UI显示?
问题内容: 该CXF文档中提到缓存为高级HTTP: CXF JAXRS通过处理If-Match,If-Modified-Since和ETags标头,提供了对许多高级HTTP功能的支持。JAXRS Request上下文对象可用于检查前提条件。还支持Vary,CacheControl,Cookie和Set-Cookies。 我真的对使用(或至少探索)这些功能感兴趣。但是,尽管“提供支持”听起来确实很有
我正在开发一个java脚本客户端应用程序,在服务器端我需要处理CORS,所有我用JAX-RS和Jersey编写的服务。我的代码: 感谢佛普尼
但对于本地时间来说,我仍然在swagger-ui的示例和模型中得到这些 我读过一些东西,swagger规范不使用时间格式。这是不是有些关联?
我正在尝试在具有两个应用程序类的 Java 应用程序上实现 Swagger,因为一个处理“公共”Web 服务,另一个处理“管理”Web 服务。我正在尝试生成两个单独的 swagger.json 文件,每个应用程序类一个。但是,仅为两个 url 生成其中一个。下面是一些代码: 公共应用程序类: 私有应用程序类: 现在,如果我点击这些URL中的任何一个,我都会得到相同的“公共”swagger json