1

Merge pull request #18 from hhu-propra2/swagger-api

Swagger api added
This commit is contained in:
Christoph
2020-03-04 14:24:53 +01:00
committed by GitHub
4 changed files with 42 additions and 1 deletions

View File

@ -58,6 +58,8 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'mops:styleguide:2.0.0' 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' compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools' developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2' runtimeOnly 'com.h2database:h2'
@ -66,8 +68,10 @@ dependencies {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
} }
testImplementation 'org.springframework.security:spring-security-test' testImplementation 'org.springframework.security:spring-security-test'
compile('org.springframework.boot:spring-boot-starter-web')
} }
test { test {
useJUnitPlatform() useJUnitPlatform()
} }

View File

@ -2,10 +2,22 @@ package mops.gruppen2;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; 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 @SpringBootApplication
@EnableSwagger2
public class Gruppen2Application { public class Gruppen2Application {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(Gruppen2Application.class, args); SpringApplication.run(Gruppen2Application.class, args);
} }
@Bean
public Docket productAPI(){
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.basePackage("mops.gruppen2")).build();
}
} }

View File

@ -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<String> getProducts(){
List<String> 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";
}
}

View File

@ -11,4 +11,5 @@ spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.security.user.name=root spring.security.user.name=root
spring.security.user.password=1234 spring.security.user.password=1234
spring.security.user.roles=ADMIN spring.security.user.roles=ADMIN