diff --git a/build.gradle b/build.gradle index 1ce10e5..99d7e8c 100644 --- a/build.gradle +++ b/build.gradle @@ -41,8 +41,10 @@ dependencies { implementation 'org.postgresql:postgresql:42.5.4' implementation 'io.micrometer:micrometer-tracing-bridge-brave' implementation 'io.zipkin.reporter2:zipkin-reporter-brave:2.16.4' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' implementation 'org.springframework.kafka:spring-kafka' compileOnly 'org.springframework.kafka:spring-kafka' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' } springBoot { diff --git a/src/main/java/ru/nsu/fit/directors/userservice/UserServiceApplication.java b/src/main/java/ru/nsu/fit/directors/userservice/UserServiceApplication.java index 1c22417..f8ef22a 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/UserServiceApplication.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/UserServiceApplication.java @@ -1,9 +1,21 @@ package ru.nsu.fit.directors.userservice; +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.servers.Server; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication +@OpenAPIDefinition(servers = { + @Server( + description = "This is the localhost", + url = "localhost:8080/user" + ), + @Server( + description = "This is the real server", + url = "80.87.200.185/user" + ) +}) public class UserServiceApplication { public static void main(String[] args) { diff --git a/src/main/java/ru/nsu/fit/directors/userservice/configuration/SecurityConfiguration.java b/src/main/java/ru/nsu/fit/directors/userservice/configuration/SecurityConfiguration.java index 5411912..877d366 100644 --- a/src/main/java/ru/nsu/fit/directors/userservice/configuration/SecurityConfiguration.java +++ b/src/main/java/ru/nsu/fit/directors/userservice/configuration/SecurityConfiguration.java @@ -16,7 +16,7 @@ public class SecurityConfiguration { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { return http.csrf(AbstractHttpConfigurer::disable) - .authorizeHttpRequests(matcher -> matcher.requestMatchers("/user/login", "/user/register") + .authorizeHttpRequests(matcher -> matcher.requestMatchers("/user/login", "/user/register", "/business/swagger-ui/**", "/business/api-docs/**") .permitAll() .anyRequest() .authenticated() diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8564f8a..1d932c8 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -24,4 +24,7 @@ spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.Strin spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer spring.kafka.producer.properties.spring.json.type.mapping=created:ru.nsu.fit.directors.userservice.event.OrderCreatedEvent,\ \ cancelled:ru.nsu.fit.directors.userservice.event.OrderCancelledEvent -spring.kafka.template.default-topic=orderTopic \ No newline at end of file +spring.kafka.template.default-topic=orderTopic + +springdoc.swagger-ui.path=/user/swagger-ui.html +springdoc.api-docs.path=/user/api-docs \ No newline at end of file