Skip to content

Commit d56777d

Browse files
committed
swagger feature:
add swagger for show all api controller for checking and testing
1 parent 805212b commit d56777d

3 files changed

Lines changed: 48 additions & 3 deletions

File tree

pom.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</parent>
1111
<groupId>ir.bigz</groupId>
1212
<artifactId>springboot-real</artifactId>
13-
<version>0.0.4</version>
13+
<version>0.1.4</version>
1414
<name>basicFeaturesForSpringProject</name>
1515
<description>Demo project for use Spring Boot in project</description>
1616

@@ -125,6 +125,19 @@
125125
<optional>true</optional>
126126
</dependency>
127127

128+
<!-- swagger-UI -->
129+
<dependency>
130+
<groupId>org.springdoc</groupId>
131+
<artifactId>springdoc-openapi-ui</artifactId>
132+
<version>1.5.10</version>
133+
</dependency>
134+
135+
<dependency>
136+
<groupId>org.springdoc</groupId>
137+
<artifactId>springdoc-openapi-webmvc-core</artifactId>
138+
<version>1.5.10</version>
139+
</dependency>
140+
128141
<dependency>
129142
<groupId>org.springframework.boot</groupId>
130143
<artifactId>spring-boot-starter-test</artifactId>

src/main/java/ir/bigz/springbootreal/SpringbootRealApplication.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
package ir.bigz.springbootreal;
22

3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.beans.factory.annotation.Value;
37
import org.springframework.boot.SpringApplication;
4-
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
58
import org.springframework.boot.autoconfigure.SpringBootApplication;
69
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
710
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
811
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
12+
import org.springframework.context.annotation.Bean;
913
import org.springframework.transaction.annotation.EnableTransactionManagement;
1014

15+
import io.swagger.v3.oas.models.OpenAPI;
16+
import io.swagger.v3.oas.models.info.Info;
17+
import io.swagger.v3.oas.models.info.License;
18+
1119
//TODO add pagination to dao
1220
//TODO complex model
1321

@@ -22,4 +30,20 @@ public static void main(String[] args) {
2230
SpringApplication.run(SpringbootRealApplication.class, args);
2331
}
2432

33+
@Autowired
34+
ObjectMapper mapper;
35+
36+
@Bean
37+
public OpenAPI customOpenAPI(@Value("${application-description}") String appDesciption, @Value("${application-version}") String appVersion) {
38+
return new OpenAPI()
39+
.info(new Info()
40+
.title("Sample Application API")
41+
.version(appVersion)
42+
.description(appDesciption)
43+
.termsOfService("http://swagger.io/terms/")
44+
.license(new License().name("Apache 2.0").url("http://springdoc.org")));
45+
}
46+
47+
48+
2549
}

src/main/resources/application-dev.properties

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,12 @@ spring.cache.jcache.config=classpath:ehcache.xml
2020

2121
################### default connection pool ##########################
2222
spring.datasource.hikari.connectionTimeout=20000
23-
spring.datasource.hikari.maximumPoolSize=5
23+
spring.datasource.hikari.maximumPoolSize=5
24+
25+
################### Application MetaData ##########################
26+
application-description=@project.description@
27+
application-version=@project.version@
28+
springdoc.swagger-ui.path=/swagger-ui.html
29+
springdoc.api-docs.path=/api-docs
30+
springdoc.use-fqn=true
31+

0 commit comments

Comments
 (0)