Spring Boot18 2์ฅ: ํ ์คํธ ์ฝ๋ ์์ฑํ๊ธฐ Table of Contents ํ ์คํธ ์ฝ๋๋ TDD ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๋ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ 1. ํญ์ ์คํจํ๋ ํ ์คํธ ์ฝ๋ ์์ฑ 2. ํ ์คํธ๊ฐ ํต๊ณผํ๋ ํ๋ก๋์ ์ฝ๋ ์์ฑ 3. ํ ์คํธ๊ฐ ํต๊ณผํ๋ฉด ํ๋ก๋์ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์ด๋ ๊ฒ ์ธ ๋จ๊ณ๋ฅผ ๋์๊ฐ๋ฉด์ ๊ฐ๋ฐํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ๋จ์ํ ์คํธ - ๊ธฐ๋ฅ ๋จ์์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ - ํ์์ฑ ๊ฐ๋ฐ ๋จ๊ณ ์ด๊ธฐ์ ๋ฌธ์ ๋ฐ๊ฒฌํ๋๋ก ๋์์ค ์ถํ ์ฝ๋ ๋ฆฌํฉํ ๋ง, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ทธ๋ ์ด๋ ๋ฑ์์ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๋์์ ํ์ธ ๊ฐ๋ฅ ๊ธฐ๋ฅ์ ๋ํ ๋ถํ์ค์ฑ ๊ฐ์์ํด ์์คํ ์ ๋ํ ์ค์ ๋ฌธ์๋ก ์ ๊ณต ๊ฐ๋ฅ - ์๋ฐ์์๋ JUnit์ด๋ผ๋ ํ ์คํธ ํ๋ ์์ํฌ๊ฐ ์ฌ์ฉ๋จ Controller ์์ฑ ์ผ๋ฐ์ ์ผ๋ก ํจํค์ง๋ช ์ ์น ์ฌ์ดํธ ์ฃผ์์ ์ญ์์ผ๋ก ์ค์ ๋ฉ์ธ ํด๋์ค package com.oli.. 2022. 6. 13. 1์ฅ: ์ธํ ๋ฆฌ์ ์ด ์ฌ์ฉํ๊ธฐ (์์ ์ค) Table of Contents ์ธํ ๋ฆฌ์ ์ด ์๊ฐ ๋ฐ ์ค์น ํ๋ก์ ํธ ์์ฑ Gradle ํ๋ก์ ํธ -> Spring Boot ํ๋ก์ ํธ Git, Github ์ฐ๋ํ๊ธฐ 2022. 6. 13. Spring Boot์ Spring Security ํ๋ก์ ํธ์ Swagger ์ ์ฉํ๊ธฐ ์ด๊ธ์ ๋ชฉ์ ์ ํ๋ก์ ํธ API ๊ฐ๋ฐ์ ์ด๋์ ๋ ๋ง์น๊ณ Swagger๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ ๊ฒ์ด๋ค. ์ ์ฉํ๊ธฐ์ ์์ ์ด ํ๋ก์ ํธ๋ Spring Boot 2.6.2์ Spring Security๊ฐ ์ ์ฉ๋์๋ค. 1. build.gradle์ ์์กด์ฑ ์ถ๊ฐ //for Swagger implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' 2. SwaggerConfig ํด๋์ค ์์ฑ config ํจํค์ง ๋ด์ SwaggerConfig ํด๋์ค๋ฅผ ์์ฑํด์ค ๋ค ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ.. 2022. 6. 10. [Spring Security] JWT Tutorial (5) ํ์๊ฐ์ , ๊ถํ ๊ฒ์ฆ SecurityUtil ํด๋์ค ์์ฑ package com.oliviarla.tutorial.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import java.util.Optional; public class SecurityUtil { private static final Logger logger.. 2022. 4. 28. [Spring Security] JWT Tutorial (4) Repository ์์ฑ, ๋ก๊ทธ์ธ DTO ๊ณ์ธต ์์ฑ LoginDto package com.oliviarla.tutorial.dto; import lombok.*; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class LoginDto { @NotNull @Size(min = 3, max = 50) private String username; @NotNull @Size(min = 3, max = 100) private String password; } TokenDto package com.oliviarla.. 2022. 4. 28. [Spring Security] JWT Tutorial (3) JWT ์ฝ๋, Security ์ค์ ์ถ๊ฐ application.properties jwt.header=Authorization jwt.secret=4oCYb2xpdmlhcmxhLXNwcmluZy1ib290LWp3dC10dXRvcmlhbC1zZWNyZXQtb2xpdmlhcmxhLXNwcmluZy1ib290LWp3dC10dXRvcmlhbC1zZWNyZXTigJkK jwt.token-validity-in-seconds=86400 secret ํญ๋ชฉ์ ํฐ๋ฏธ๋ ๋ช ๋ น์ด๋ก secret key๋ฅผ base64๋ก ์ธ์ฝ๋ฉํด ์ฑ์๋ฃ์ echo ‘silvernine-tech-spring-boot-jwt-tutorial-secret-silvernine-tech-spring-boot-jwt-tutorial-secret’|base64 build.gradle compileOn.. 2022. 4. 28. ์ด์ 1 2 3 ๋ค์