Skip to content
Snippets Groups Projects
Commit b8d0dc57 authored by Martin Weise's avatar Martin Weise
Browse files

problem with swagger ui

parent da05f1a8
No related branches found
No related tags found
3 merge requests!23Sprint results,!10Revert bdb79ac5,!9Resolve "Refactoring: Backend Endpoints"
Showing
with 42 additions and 107 deletions
...@@ -20,8 +20,6 @@ services: ...@@ -20,8 +20,6 @@ services:
POSTGRES_PASSWORD: postgres POSTGRES_PASSWORD: postgres
POSTGRES_DB: fda POSTGRES_DB: fda
fda-discovery-server: fda-discovery-server:
restart: always restart: always
container_name: fda-discovery-server container_name: fda-discovery-server
...@@ -96,8 +94,10 @@ services: ...@@ -96,8 +94,10 @@ services:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
links: links:
- fda-discovery-server - fda-discovery-server
- fda-metadata-db
depends_on: depends_on:
- fda-discovery-server - fda-discovery-server
- fda-metadata-db
logging: logging:
driver: json-file driver: json-file
......
...@@ -10,7 +10,7 @@ COPY ./api ./api ...@@ -10,7 +10,7 @@ COPY ./api ./api
COPY ./rest-service ./rest-service COPY ./rest-service ./rest-service
COPY ./services ./services COPY ./services ./services
RUN mvn -q clean package -DskipTests > /dev/null RUN mvn -q clean package -DskipTests
###### SECOND STAGE ###### ###### SECOND STAGE ######
FROM openjdk:11-jre-slim as runtime FROM openjdk:11-jre-slim as runtime
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version> <version>2.4.3</version>
</parent> </parent>
<groupId>at.tuwien</groupId> <groupId>at.tuwien</groupId>
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
<mapstruct.version>1.4.2.Final</mapstruct.version> <mapstruct.version>1.4.2.Final</mapstruct.version>
<docker.version>3.2.7</docker.version> <docker.version>3.2.7</docker.version>
<testcontainers.version>1.15.2</testcontainers.version> <testcontainers.version>1.15.2</testcontainers.version>
<swagger.version>2.8.0</swagger.version> <swagger.version>3.0.0</swagger.version>
<openapi.version>1.5.5</openapi.version>
</properties> </properties>
<dependencies> <dependencies>
...@@ -38,6 +39,7 @@ ...@@ -38,6 +39,7 @@
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>3.0.1</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>javax.ws.rs</groupId> <groupId>javax.ws.rs</groupId>
...@@ -107,55 +109,14 @@ ...@@ -107,55 +109,14 @@
<artifactId>mapstruct</artifactId> <artifactId>mapstruct</artifactId>
<version>${mapstruct.version}</version> <version>${mapstruct.version}</version>
</dependency> </dependency>
<dependency> <!-- Swagger -->
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.20</version>
</dependency>
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId> <artifactId>springfox-boot-starter</artifactId>
<version>2.9.2</version> <version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
<exclusions>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
</dependencies> </dependencies>
</dependencyManagement>
<build> <!-- build config in ./rest-service/pom.xml -->
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project> </project>
...@@ -26,4 +26,13 @@ ...@@ -26,4 +26,13 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project> </project>
\ No newline at end of file
...@@ -5,13 +5,13 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; ...@@ -5,13 +5,13 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.oas.annotations.EnableOpenApi;
@SpringBootApplication @SpringBootApplication
@EnableJpaAuditing @EnableJpaAuditing
@EnableOpenApi
@EnableJpaRepositories(basePackages = {"at.tuwien.repository"}) @EnableJpaRepositories(basePackages = {"at.tuwien.repository"})
@EntityScan(basePackages = {"at.tuwien.entity"}) @EntityScan(basePackages = {"at.tuwien.entity"})
@EnableSwagger2
public class FdaContainerManagingApplication { public class FdaContainerManagingApplication {
public static void main(String[] args) { public static void main(String[] args) {
......
...@@ -2,33 +2,36 @@ package at.tuwien.config; ...@@ -2,33 +2,36 @@ package at.tuwien.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo; import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.Contact; import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import static com.google.common.collect.Lists.newArrayList;
@Configuration @Configuration
@EnableSwagger2
public class SwaggerConfig { public class SwaggerConfig {
@Bean
public Docket swaggerConfiguration() {
@Bean
public Docket databaseApi() {
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.groupName("database-api")
.apiInfo(apiInfo())
.select() .select()
.paths(PathSelectors.ant("/api/*")) .paths(PathSelectors.ant("/api/database.*"))
.apis(RequestHandlerSelectors.basePackage("at.tuwien.endpoints")) .build();
.build()
.apiInfo(apiInfo());
} }
private ApiInfo apiInfo() { private ApiInfo apiInfo() {
return new ApiInfo("FDA-Container-Managing API", return new ApiInfo("FDA-Container-Managing API",
"Docker at.tuwien.service that can manage Docker services", "Service that can manage Docker containers",
"1.0", "1.0",
null, null,
new Contact("Martin Weise", "https://informatics.tuwien.ac.at/people/martin-weise", "martin.weise@tuwien.ac.at"), new Contact("Martin Weise", "https://informatics.tuwien.ac.at/people/martin-weise", "martin.weise@tuwien.ac.at"),
......
...@@ -11,7 +11,6 @@ import at.tuwien.exception.DockerClientException; ...@@ -11,7 +11,6 @@ import at.tuwien.exception.DockerClientException;
import at.tuwien.exception.ImageNotFoundException; import at.tuwien.exception.ImageNotFoundException;
import at.tuwien.mapper.DatabaseContainerMapper; import at.tuwien.mapper.DatabaseContainerMapper;
import at.tuwien.service.ContainerService; import at.tuwien.service.ContainerService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -38,7 +37,6 @@ public class DatabaseContainerController { ...@@ -38,7 +37,6 @@ public class DatabaseContainerController {
} }
@GetMapping("/database") @GetMapping("/database")
@ApiOperation("Get all database containers")
public ResponseEntity<List<DatabaseContainerBriefDto>> listDatabaseContainers() { public ResponseEntity<List<DatabaseContainerBriefDto>> listDatabaseContainers() {
final List<DatabaseContainer> containers = containerService.getAll(); final List<DatabaseContainer> containers = containerService.getAll();
return ResponseEntity.ok() return ResponseEntity.ok()
...@@ -48,7 +46,6 @@ public class DatabaseContainerController { ...@@ -48,7 +46,6 @@ public class DatabaseContainerController {
} }
@PostMapping("/database") @PostMapping("/database")
@ApiOperation("Create a new database container")
public ResponseEntity<DatabaseContainerCreateResponseDto> create(@RequestBody DatabaseContainerCreateRequestDto data) public ResponseEntity<DatabaseContainerCreateResponseDto> create(@RequestBody DatabaseContainerCreateRequestDto data)
throws ImageNotFoundException { throws ImageNotFoundException {
final DatabaseContainer container = containerService.create(data); final DatabaseContainer container = containerService.create(data);
...@@ -58,7 +55,6 @@ public class DatabaseContainerController { ...@@ -58,7 +55,6 @@ public class DatabaseContainerController {
} }
@GetMapping("/database/{id}") @GetMapping("/database/{id}")
@ApiOperation("Get info of database container")
public ResponseEntity<DatabaseContainerDto> findById(@RequestParam String id) throws ContainerNotFoundException { public ResponseEntity<DatabaseContainerDto> findById(@RequestParam String id) throws ContainerNotFoundException {
final DatabaseContainer container = containerService.getById(id); final DatabaseContainer container = containerService.getById(id);
return ResponseEntity.ok() return ResponseEntity.ok()
...@@ -66,7 +62,6 @@ public class DatabaseContainerController { ...@@ -66,7 +62,6 @@ public class DatabaseContainerController {
} }
@PutMapping("/database/{id}") @PutMapping("/database/{id}")
@ApiOperation("Update a database container")
public ResponseEntity<DatabaseContainerBriefDto> change(@RequestParam String id, @RequestBody ContainerChangeDto changeDto) throws ContainerNotFoundException, DockerClientException { public ResponseEntity<DatabaseContainerBriefDto> change(@RequestParam String id, @RequestBody ContainerChangeDto changeDto) throws ContainerNotFoundException, DockerClientException {
final DatabaseContainer container; final DatabaseContainer container;
if (changeDto.getAction().equals(START)) { if (changeDto.getAction().equals(START)) {
...@@ -84,7 +79,6 @@ public class DatabaseContainerController { ...@@ -84,7 +79,6 @@ public class DatabaseContainerController {
} }
@DeleteMapping("/database/{id}") @DeleteMapping("/database/{id}")
@ApiOperation("Delete a database container")
public ResponseEntity<DatabaseContainerBriefDto> deleteDatabaseContainer(@RequestParam String id) { public ResponseEntity<DatabaseContainerBriefDto> deleteDatabaseContainer(@RequestParam String id) {
return ResponseEntity.status(HttpStatus.ACCEPTED).build(); return ResponseEntity.status(HttpStatus.ACCEPTED).build();
} }
......
...@@ -7,12 +7,8 @@ spring: ...@@ -7,12 +7,8 @@ spring:
password: postgres password: postgres
jpa: jpa:
show-sql: true show-sql: true
properties:
hibernate: hibernate:
ddl-auto: update ddl-auto: update
dialect: org.hibernate.dialect.PostgreSQLDialect
hibernate.ddl-auto: none
hibernate.show-sql: true
application: application:
name: fda-container-managing name: fda-container-managing
cloud: cloud:
......
spring:
main.banner-mode: off
datasource:
url: jdbc:postgresql://localhost:5432/fda
driver-class-name: org.postgresql.Driver
username: postgres
password: postgres
jpa:
show-sql: true
properties:
hibernate:
ddl-auto: create-drop
dialect: org.hibernate.dialect.PostgreSQLDialect
hibernate.ddl-auto: none
hibernate.show-sql: true
application:
name: fda-container-managing
server.port: 9091
logging:
pattern.console: "%d %highlight(%-5level) %msg%n"
level:
root: warn
at.: debug
eureka:
client:
registerWithEureka: false
fetchRegistry: false
\ No newline at end of file
...@@ -7,14 +7,12 @@ spring: ...@@ -7,14 +7,12 @@ spring:
password: postgres password: postgres
jpa: jpa:
show-sql: true show-sql: true
properties:
hibernate: hibernate:
ddl-auto: create-drop ddl-auto: update
dialect: org.hibernate.dialect.PostgreSQLDialect
hibernate.ddl-auto: none
hibernate.show-sql: true
application: application:
name: fda-container-managing name: fda-container-managing
cloud:
loadbalancer.ribbon.enabled: false
server.port: 9091 server.port: 9091
logging: logging:
pattern.console: "%d %highlight(%-5level) %msg%n" pattern.console: "%d %highlight(%-5level) %msg%n"
...@@ -22,4 +20,5 @@ logging: ...@@ -22,4 +20,5 @@ logging:
root: warn root: warn
at.: debug at.: debug
eureka: eureka:
client.serviceUrl.defaultZone: http://localhost:9090/eureka/ instance.hostname: fda-discovery-server
\ No newline at end of file client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:9090/eureka/
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment