โ๐ปย ์ฃผ์ ์๊ฑด
๊น๋ฏผ๊ธฐ ํผ๋๋ฐฑ
์ด๋์ฝ ํผ๋๋ฐฑ
๐ย ํ์ ๋ด์ฉ
์ฝ๋๋ฆฌ๋ทฐ ๋ด์ฉ
- Global
- ์์ธ ์ฒ๋ฆฌ ๋ก์ง์์
GlobalExceptionHandler
์ private
๋ฉ์๋ ๋ง๋ค๊ณ , CommonResponse
๋ฐํํ๊ฒ ๋ฐ๊พธ๊ธฐ
CommonResponse
์์ ์์ฑ๋ช
dataResponse
โ data
๋ก ์์ ํ๊ธฐ
ExceptionExectutor
์์ ๋ฉ์๋๋ช
ํ์ค์นผ ์ผ์ด์ค๋ก ๋ฐ๊พธ๊ธฐ
- Business Exception์์ ๊ทธ๋ฅ ErrorType์ ์์ฑ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ก ์์ ํ์.
-
- ์์ฑ์๋
protected
๋ก ์์ ํ๊ธฐ
- BaseTimeEntity
- create, update ๋ฉ์๋ ์ง์๋ณด๊ธฐ โ ์ด๋
ธํ
์ด์
์ผ๋ก ํด๋จ์ผ๋ ์๋ํ ๊ฑฐ๊ฐ๋ค. โ๏ธ
- AccessToken ์์ฑ์ Member๋ฅผ ๋๊ธฐ์ง ๋ง๊ณ , ํ์ํ ๊ฐ๋ค๋ง ๋๊ธฐ์.
- Auth
- ํ
์คํธ ์ฝ๋ ์ง๊ธฐ
- AuthService์์ ๋น๋ฐ๋ฒํธ ๋น๊ต ๋ก์ง custom validation์ผ๋ก ๋ฐ๊พธ๊ธฐ : ๋งํฌ 9.2
โ @Donggwon Seo
- Board
- Web Layer ๋จ์ ํ
์คํธ๋ ์ถ๊ฐ ์์ฑํ๊ธฐ โ
@WebMvcTest
= ๊ฐ์ โ๏ธ
- ControllerTest ํด๋์ค ๋ช
์์ ํ๊ธฐ โ
IntegrationTest
= O
- ๊ฒ์๊ธ ์์ฑ ํ
์คํธ โ title ๋ง๊ณ id๋ฅผ ์์ฑํ์. = ์ค์ง์ โ๏ธ
- ์๋น์ค๋ ์ถ์ํํ๊ธฐ = ๊ฐ์ โ๏ธ
- JPA Batch Insert ์ ์ฉํ๊ธฐ = ์ด๋์ฝ โ๏ธ
- ๊ฒ์๊ธ ์์ฑ์ = ์ค์ง์ โ๏ธ
- DTO์์ memberId๋ฅผ ๋ฐ์ง๋ง๊ณ , token์์ ์ถ์ถํ์.
- Spring Arguments Resolver๋ฅผ ์ ์ฉํ๊ธฐ โ JwtProvider์์ extract๋ ๊ตฌํํด์ผ๊ฒ ๋ค.
- ๊ฒ์๊ธ ์กฐํ์ ์กฐํ์ ์ฆ๊ฐํ๋๊น,
@Transactional
๋ถ์ด๊ธฐ = ์ด๋์ฝ โ๏ธ
- ์ด๋ฏธ์ง ์ ์ฅ์์
forEach
๋ฌธ ์ง์ฐ๊ณ , toList
๋ก ๋ง๋ฌด๋ฆฌํ๊ธฐ. = ์ค์ง์ โ๏ธ
- url โ/apiโ prefix ๋นผ๊ธฐ = O
์ฃผ์ ์๊ฑด2
์ฃผ์ ์๊ฑด3
์๋ก ์ ํ ๊ท์น๋ค
- DTO โ Entity ๊ฐ์
Mapper
๋ฅผ ๋ง๋ค๊ธฐ. = ๊ฐ์ โ๏ธ
- โ ํ
์คํธ ์ฝ๋์๋ ๋ชจ๋ ์ ์ฉํ๊ณ , DTO ์ฌ์ฉ ์์ ๊ธฐ.
- โ Board๋ ์๋ฃ โ๏ธ
- โ Member๋ ์์ง
assertEquals()
vs assertThat()
๋ ์ค ํ๋๋ก ํต์ผ์ ํ์. = ์ค์ง์
- โ @Jinwon Yoon ์์์ค๊ธฐ