diff --git a/build.gradle b/build.gradle index d4b9d8a..df9564b 100644 --- a/build.gradle +++ b/build.gradle @@ -58,6 +58,8 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'mops:styleguide:2.0.0' + compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.7.0' + compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.7.0' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.h2database:h2' @@ -66,8 +68,10 @@ dependencies { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } testImplementation 'org.springframework.security:spring-security-test' + compile('org.springframework.boot:spring-boot-starter-web') } test { useJUnitPlatform() } + diff --git a/src/main/java/mops/gruppen2/Gruppen2Application.java b/src/main/java/mops/gruppen2/Gruppen2Application.java index 91f1872..2e7599a 100644 --- a/src/main/java/mops/gruppen2/Gruppen2Application.java +++ b/src/main/java/mops/gruppen2/Gruppen2Application.java @@ -2,10 +2,22 @@ package mops.gruppen2; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; @SpringBootApplication +@EnableSwagger2 public class Gruppen2Application { public static void main(String[] args) { SpringApplication.run(Gruppen2Application.class, args); } + + @Bean + public Docket productAPI(){ + return new Docket(DocumentationType.SWAGGER_2).select() + .apis(RequestHandlerSelectors.basePackage("mops.gruppen2")).build(); + } } diff --git a/src/main/java/mops/gruppen2/controllers/SwaggerAPIController.java b/src/main/java/mops/gruppen2/controllers/SwaggerAPIController.java new file mode 100644 index 0000000..6811f25 --- /dev/null +++ b/src/main/java/mops/gruppen2/controllers/SwaggerAPIController.java @@ -0,0 +1,24 @@ +package mops.gruppen2.controllers; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +@RestController +public class SwaggerAPIController { + @RequestMapping(value = "/products", method = RequestMethod.GET) + public List getProducts(){ + List productList = new ArrayList<>(); + productList.add("Honey"); + productList.add("Almond"); + return productList; + } + @RequestMapping(value = "/products", method = RequestMethod.POST) + public String createProduct() { + return "Product is saved successfully"; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2d6e053..b69031f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -11,4 +11,5 @@ spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.security.user.name=root spring.security.user.password=1234 -spring.security.user.roles=ADMIN \ No newline at end of file +spring.security.user.roles=ADMIN +