JAVA-21456 Upgrade spring-boot-mvc-4 to use SpringDoc in place of SpringFox (#14139)

* JAVA-21456 Upgrade spring-boot-mvc-4 to use SpringDoc in place of SpringFox

* JAVA-21456 Replace no longer needed ModelAttribute with RequestBody

* JAVA-21456 Review comments changes

* JAVA-21456 Formatting changes pom

* JAVA-21456 Correct formatting pom
This commit is contained in:
anuragkumawat 2023-06-06 09:30:56 +05:30 committed by GitHub
parent f0124dcca0
commit 3f9bddc9ab
4 changed files with 20 additions and 31 deletions

View File

@ -32,11 +32,11 @@
<artifactId>spring-boot-devtools</artifactId> <artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>org.springdoc</groupId>
<artifactId>springfox-boot-starter</artifactId> <artifactId>springdoc-openapi-ui</artifactId>
<version>${spring.fox.version}</version> <version>${springdoc.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
@ -70,7 +70,7 @@
</build> </build>
<properties> <properties>
<spring.fox.version>3.0.0</spring.fox.version> <springdoc.version>1.7.0</springdoc.version>
<start-class>com.baeldung.springboot.swagger.ArticleApplication</start-class> <start-class>com.baeldung.springboot.swagger.ArticleApplication</start-class>
</properties> </properties>

View File

@ -5,14 +5,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.PathSelectors; import io.swagger.v3.oas.models.OpenAPI;
import springfox.documentation.builders.RequestHandlerSelectors; import io.swagger.v3.oas.models.info.Info;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication @SpringBootApplication
@EnableSwagger2
@EnableWebMvc @EnableWebMvc
public class ArticleApplication { public class ArticleApplication {
@ -21,12 +17,10 @@ public class ArticleApplication {
} }
@Bean @Bean
public Docket api() { public OpenAPI openAPI() {
return new Docket(DocumentationType.SWAGGER_2) return new OpenAPI().info(new Info().title("SpringDoc example")
.select() .description("SpringDoc application")
.apis(RequestHandlerSelectors.any()) .version("v0.0.1"));
.paths(PathSelectors.any())
.build();
} }
} }

View File

@ -21,7 +21,7 @@ public class ArticlesController {
} }
@PostMapping("") @PostMapping("")
public void addArticle(@ModelAttribute Article article) { public void addArticle(@RequestBody Article article) {
articleService.addArticle(article); articleService.addArticle(article);
} }

View File

@ -1,21 +1,16 @@
package com.baeldung.springboot.swagger.model; package com.baeldung.springboot.swagger.model;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonView; import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiParam; import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
public class Article { public class Article {
//@JsonIgnore // @JsonIgnore
//@JsonProperty(access = JsonProperty.Access.READ_ONLY) // @JsonProperty(access = JsonProperty.Access.READ_ONLY)
//@ApiModelProperty(hidden = true) // @Schema(accessMode = AccessMode.READ_ONLY)
//@ApiParam(hidden = true) @Hidden
//@ApiModelProperty(readOnly = true)
@ApiParam(hidden = true)
private int id; private int id;
private String title; private String title;
private int numOfWords; private int numOfWords;