Skip to content

Commit 4c23143

Browse files
committed
Added swagger configuration.
1 parent e0b4286 commit 4c23143

File tree

4 files changed

+57
-2
lines changed

4 files changed

+57
-2
lines changed

person-service/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,17 @@
7070
<artifactId>spring-boot-starter-test</artifactId>
7171
<scope>test</scope>
7272
</dependency>
73+
<dependency>
74+
<groupId>io.springfox</groupId>
75+
<artifactId>springfox-swagger2</artifactId>
76+
<version>3.0.0</version>
77+
</dependency>
78+
79+
<dependency>
80+
<groupId>io.springfox</groupId>
81+
<artifactId>springfox-swagger-ui</artifactId>
82+
<version>3.0.0</version>
83+
</dependency>
7384

7485
</dependencies>
7586
<dependencyManagement>
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.cevher.ms.person.config;
2+
3+
4+
import org.springframework.context.annotation.Bean;
5+
import org.springframework.context.annotation.Configuration;
6+
import springfox.documentation.builders.ApiInfoBuilder;
7+
import springfox.documentation.builders.PathSelectors;
8+
import springfox.documentation.builders.RequestHandlerSelectors;
9+
import springfox.documentation.service.ApiInfo;
10+
import springfox.documentation.service.Contact;
11+
import springfox.documentation.spi.DocumentationType;
12+
import springfox.documentation.spring.web.plugins.Docket;
13+
import springfox.documentation.swagger2.annotations.EnableSwagger2;
14+
15+
@Configuration
16+
@EnableSwagger2
17+
public class SwaggerConfig {
18+
19+
@Bean
20+
public Docket api() {
21+
return new Docket(DocumentationType.SWAGGER_2).select()
22+
.apis(RequestHandlerSelectors.basePackage("com.cevher.ms.person.web.rest"))
23+
.paths(PathSelectors.regex("/.*"))
24+
.build().apiInfo(apiEndPointsInfo());
25+
26+
}
27+
28+
private ApiInfo apiEndPointsInfo() {
29+
return new ApiInfoBuilder().title("Person Service Swagger Documentation")
30+
.description("Person API Doc")
31+
.contact(new Contact("Cevher Microservices", "", ""))
32+
.license("Apache 2.0")
33+
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
34+
.version("1.0.0")
35+
.build();
36+
}
37+
}

person-service/src/main/java/com/cevher/ms/person/domain/Person.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.cevher.ms.person.domain;
22

33

4+
import io.swagger.annotations.ApiModel;
45
import lombok.AllArgsConstructor;
56
import lombok.Data;
67
import lombok.NoArgsConstructor;
@@ -14,6 +15,7 @@
1415
@Data
1516
@AllArgsConstructor
1617
@NoArgsConstructor
18+
@ApiModel(value = "PersonDomain", description = "Person Domain Model for person values")
1719
public class Person {
1820
@Id
1921
@GeneratedValue(strategy = GenerationType.AUTO)

person-service/src/main/java/com/cevher/ms/person/web/rest/PersonController.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import com.cevher.ms.person.domain.Person;
44
import com.cevher.ms.person.service.PersonService;
55
import com.cevher.ms.person.vm.ResponseTempVM;
6+
import io.swagger.annotations.Api;
7+
import io.swagger.annotations.ApiOperation;
8+
import lombok.RequiredArgsConstructor;
69
import lombok.extern.slf4j.Slf4j;
710
import org.springframework.beans.factory.annotation.Autowired;
811
import org.springframework.web.bind.annotation.*;
@@ -12,11 +15,13 @@
1215
@RestController
1316
@RequestMapping("/people")
1417
@Slf4j
18+
@RequiredArgsConstructor
19+
@Api(value = "PersonController", tags = {"person", "service"})
1520
public class PersonController {
1621

17-
@Autowired
18-
private PersonService personService;
22+
private final PersonService personService;
1923

24+
@ApiOperation(value = "savePerson", notes = "Person Save API", response = Person.class)
2025
@PostMapping("/")
2126
public Person savePerson(@RequestBody Person person) {
2227
log.info("savePerson by PersonController");

0 commit comments

Comments
 (0)