๋ฉ‹์‚ฌ Backend Plus 24์ผ์ฐจ ๐Ÿฆ

์‹ ์žฌ์›ยท2023๋…„ 11์›” 23์ผ

์˜ค๋Š˜๋„ ์ˆ˜์—… ์—†์ด ํŒ€ ํ”„๋กœ์ ํŠธ๋งŒ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•  ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค์ „

PutMapping vs PatchMapping

@PutMapping ๊ณผ @PatchMapping ์–ด๋…ธํ…Œ์ด์…˜์€ CRUD ๊ธฐ๋Šฅ์—์„œ Update (์ˆ˜์ •) ๋ถ€๋ถ„์—์„œ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‘ ์–ด๋…ธํ…Œ์ด์…˜์€ ๋ฏธ์„ธํ•œ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
Put์€ ์ „์ฒด ๋ฆฌ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑํ• ๋•Œ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜๊ณ , Patch ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋ฆฌ์†Œ์Šค์˜ ๋ถ€๋ถ„์ ์ธ ์ˆ˜์ •์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰ Post ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ๋ฆฌ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒด์ ์œผ๋กœ ์ˆ˜์ •์„ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด @PutMapping ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉ
๋ถ€๋ถ„์ ์ธ ์ˆ˜์ •์„ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด @PatchMapping ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์˜คํ›„

SpringBootTest

  • ์‹ค์ œ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๊ณ , ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ปค๋„ฅ์…˜ (์—ฐ๊ฒฐ) ๋˜๋Š” ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
@SpringBootTest
class Test {

    @DisplayName("")
    @Test
    void test() {
    	// ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
    }
    
    // ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ์–ด ๋ฐ˜๋ณต์ ์ธ ๊ฐ’ ํ…Œ์ŠคํŠธ
    @DisplayName("")
    @ValueSource(strings = {})
    @ParameterizedTest
    void (String input) {
    	// ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
    }
}

์˜ค๋Š˜์€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ๊ณผ ์ƒํ’ˆ ๋‹จ์ผ ์กฐํšŒ, ์ˆ˜์ • ์‚ญ์ œ ๋“ฑ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€๊ณ  develop ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ ํ•˜์˜€๋‹ค.

@RestControllerAdvice, ErrorCode ์—ด๊ฑฐํ˜•์œผ๋กœ ๋งŒ๋“ค๊ธฐ ๋“ฑ๋“ฑ ๋ฏธ์™„์„ฑ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ๋ธ”๋กœ๊ทธ์—์„œ ๋‹ค๋ฃฐ ์˜ˆ์ • ์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€