From 178e65927e1212c86c973d15da3317636b808233 Mon Sep 17 00:00:00 2001 From: jiixon Date: Sun, 9 Jul 2023 21:23:11 +0900 Subject: [PATCH] feat: swagger api document --- build.gradle | 3 +++ .../itsu/threedays/config/SecurityConfig.java | 5 ++++- .../itsu/threedays/config/SwaggerConfig.java | 20 +++++++++++++++++++ src/main/resources/application.yaml | 8 +++++++- 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/itsu/threedays/config/SwaggerConfig.java diff --git a/build.gradle b/build.gradle index 6d70b3d..7fd2246 100644 --- a/build.gradle +++ b/build.gradle @@ -33,6 +33,9 @@ dependencies { runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5' runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5' + implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0' + implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0' + implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' diff --git a/src/main/java/com/itsu/threedays/config/SecurityConfig.java b/src/main/java/com/itsu/threedays/config/SecurityConfig.java index 06b22fd..1a5877d 100644 --- a/src/main/java/com/itsu/threedays/config/SecurityConfig.java +++ b/src/main/java/com/itsu/threedays/config/SecurityConfig.java @@ -21,7 +21,10 @@ public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { httpSecurity.authorizeRequests().mvcMatchers("/api/login").permitAll() - .mvcMatchers("/api/**").hasRole("USER") + .mvcMatchers("/api/**").permitAll() + .mvcMatchers("/swagger-ui/**").permitAll() + .mvcMatchers("/swagger-resources/**").permitAll() + .mvcMatchers("/v3/api-docs/**").permitAll() .anyRequest().authenticated() .and().csrf().disable() .addFilterBefore(new JwtFilter(jwtTokenProvider), UsernamePasswordAuthenticationFilter.class); diff --git a/src/main/java/com/itsu/threedays/config/SwaggerConfig.java b/src/main/java/com/itsu/threedays/config/SwaggerConfig.java new file mode 100644 index 0000000..556004a --- /dev/null +++ b/src/main/java/com/itsu/threedays/config/SwaggerConfig.java @@ -0,0 +1,20 @@ +package com.itsu.threedays.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; + +@Configuration +public class SwaggerConfig { + @Bean + public Docket api() { + return new Docket(DocumentationType.OAS_30) + .select() + .apis(RequestHandlerSelectors.any()) + .paths(PathSelectors.any()) + .build(); + } +} diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 2de35a4..5f7092b 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -12,6 +12,9 @@ spring: properties: hibernate: format_sql: true + mvc: + pathmatch: + matching-strategy: ant_path_matcher # profiles: # active: test cloud: @@ -26,4 +29,7 @@ cloud: accessKey: AKIARREOKLWWNCOBGJHR secretKey: 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 jwt: - secret: threedaysapitokensecretkey123149398230 \ No newline at end of file + secret: threedaysapitokensecretkey123149398230 +jasypt: + encryptor: + password: hcjweg3120 \ No newline at end of file