我已经开发了SpringBootv2.1代码。3.发布和炫耀版本2.9。2.
昂首阔步。JAVA
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Public - Mock")
.select()
.apis(Predicates.not(RequestHandlerSelectors.basePackage("org.springframework.boot")))
.apis(RequestHandlerSelectors.basePackage("com.example"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo())
.useDefaultResponseMessages(false)
.globalResponseMessage(
RequestMethod.GET,
newArrayList(new ResponseMessageBuilder().code(500).message("Error").build()));
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("API")
.description("API")
.version("0.1")
.build();
}
}
波姆。xml
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<scope>test</scope>
</dependency>
<!-- Add Log4j2 Dependency -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>swagger</id>
<name>swagger</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
应用性质
spring.application.name=API Management
server.servlet.context-path=/api-management/v1
当我发射:http://localhost:8080/api-management/v1/swagger-ui.html#
根据Swagger github的讨论,Spring Boot2. x还没有得到官方支持。
但是,在等待发布版本时,它可以使用JFrog存储库中的快照版本。我已经尝试过了,它适用于Spring Boot 2.1。
<dependencies>
...
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
...
</dependencies>
<repositories>
<repository>
<id>JFrog</id>
<name>JFrog Snapshot Repository</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
</repository>
</repositories>
然后使用@EnableSwagger2WebMvc
而不是@EnableSwagger2
:
@SpringBootApplication
@EnableSwagger2WebMvc
@Import(SpringDataRestConfiguration.class)
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
上述解决方案引自此处。
我在Spring Boot中面临着与Swagger集成的问题。看一下代码和错误片段。
springboot 2和spring 5附带的默认jersey服务器和其他相关jersey依赖项jar是jersey-server-2.6,但是,当我试图将swagger-jersey2-jaxrs依赖项添加到我的maven项目中时,jersey服务器依赖项被覆盖为jersey-server-2.25.1。因此,我的应用程序无法启动,出现以下错误。 如果删除依赖项,则应用程序运行正常。 附加依赖
对于一个nodejs项目,我正在使用swagger ui express和swagger jsdocs作为swagger API。当我尝试使用Swagger调用应用程序的POSTendpoint时,没有使用发送数据。有什么问题吗?我的全部相关代码如下: Swagger正在执行get请求,但在发送数据时,d标志为空。有人有主意吗? 最好的问候
使用Spring Boot。 以下是中的一个片段: 如何解决这个问题?
我有一个使用Spring Boot2.2.4.Release的REST应用程序。我的REST控制器的注释如下 Spring Boot web应用程序是否可以使用Swagger(版本2.1.1中的swagger-core,...)? 有一个SpringFox项目,但它不是最新的。springdoc-openapi也是可用的。但是直接使用Swagger会是我的第一个想法。
在集成springdoc openapi数据rest库以将Pageable(spring date commons)对象映射到Swagger UI中的正确URL参数后,我遇到了以下问题: 请问我怎样才能有效地解决这个问题?谢谢