通过添加这个SwaggerConfig文件并添加以下依赖项,我可以将swagger2设置到我的SpringBoot应用程序中:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
.paths(Predicates.not(PathSelectors.regex("/error"))).build().apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo("Motorcycle Shop - Restful Services", "Rest based API for Motorcycle Shop", "1.0", "",
new Contact("", "", ""), "", "");
return apiInfo;
}
}
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
</parent>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
尽管我的controller类看起来像这样:
@RestController
@RequestMapping("/motorcycles")
public class ProductController {
// GET method
}
...我仍然可以通过执行以下操作来调用该控制器:
curl -X GET http://localhost:8080/motorcycles
http://localhost:8080/swagger-ui.html
http://localhost:8080/motorcycles/swagger-ui.html
http://localhost:8080/motorboy/swagger-ui.html
RESTendpoint的curl-x GET如下所示:
http://localhost:8080/motorboy/motorcycles
看来spring-boot只是在浏览器中使用简单的旧版http://localhost:8080作为swagger的默认应用程序名。
我在application.properties
中解决了设置Spring Boot应用程序上下文路径的问题(您可以用不同的方法设置此变量,请参阅此spring文档):
server.servlet.context-path=/user
(在您的情况下是motorboy)
设置上下文路径后,我可以分别从http://localhost:8080/user/swagger-ui.html
和http://localhost:8080/user/v2/api-docs
访问swagger-ui或swagger文档。
如果你想,我可以做一个简单的项目,并更新到github,只是为了澄清和解释这个配置。
我正在运行一个服务,其中可以访问Swagger UI: 但是,它背后是一个代理,比如: Swagger UI生成的URL如下所示:
有没有办法可以从springfox swagger-UI中删除“basic-error-controller”? 图片:
这是一个什么样的问题?项目结构:SwaggerConfig在中的身份验证配置在中 依赖关系 至于Spring靴 我的一个控制器的示例我的所有控制器都映射为 问题 工作很好,我会返回所有endpoint及其详细信息弹出显示“无法推断基本URL......” 我的日志看起来像: 不幸的是,我发现在日志的and处的路径映射有些奇怪:GET“/null/swagger-resources/configur
问题内容: 是否可以更改用于构建框架的Carthage Swift版本? 我试图将我的项目迁移到Swift 3(在Xcode 8 beta上),并且第三方库是唯一阻止我的项目编译的东西。在为swift 3使用特定分支时,迦太基会抛出有关新Swift语法的错误。 任何帮助将不胜感激! 问题答案: 迦太基使用命令行工具来构建框架。命令行系统使用的Xcode版本由工具选择的值确定 它需要指向Develo
SwaggerUI 汉化版;修改了部分样式;结合SpringFox SpringFox-Swagger-UI实现API管理
这是什么问题?项目结构:swaggenConfig位于automate.api.web.Auth.keycloak.falconkeycloakconfigurerAdapter中 依赖关系 至于Spring靴 我的一个控制器的示例我的所有控制器都像一样映射 发行 工作得很好,我得到了所有endpoint及其详细信息弹出一个显示“无法推断基本URL......” 求求你,帮帮我!:) 我仔细研究了