๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

REST API10

๊ฒฐ์ œ API ๋ฆฌํŒฉํ† ๋ง - [2] (feat. WebClient) https://sweeeetgoguma.tistory.com/entry/%EA%B2%B0%EC%A0%9C-API-%EB%A6%AC%ED%8C%A9%ED%86%A0%EB%A7%81-1-feat-%EC%A0%84%EB%9E%B5-%ED%8C%A8%ED%84%B ๊ฒฐ์ œ API ๋ฆฌํŒฉํ† ๋ง - [1] (feat. ์ „๋žต ํŒจํ„ด) ๊ฒฐ์ œ API๋ฅผ ๋ฆฌํŒฉํ† ๋ง ์‹œ์ž‘ํ•˜๋ฉฐ ์™ธ๋ถ€ API๋ฅผ ์—ฐ๋™ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ดค๋‹ค. ๊ธฐ์กด์—๋„ ์นด์นด์˜คํŽ˜์ด๋ฅผ ์ด์šฉํ–ˆ์—ˆ๊ณ , ์ง€๊ธˆ๋„ ์นด์นด์˜คํŽ˜์ด๋ฅผ ์ด์šฉํ•  ๊ฒƒ์ด์ง€๋งŒ, ์ถ”๊ฐ€์ ์œผ๋กœ ๋‹ค๋ฅธ ๊ฒฐ์ œ API๋ฅผ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ sweeeetgoguma.tistory.com ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค~ ์‹ค์ œ ๊ฒฐ์ œ API๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” httpClient ๊ธฐ๋ฐ˜์˜ ๋ชจ๋“ˆ์ด ํ•„์š”ํ•˜๋‹ค. ๊ธฐ์กด์—๋Š” ๋™๊ธฐ๋ฐฉ์‹, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉ.. 2022. 9. 22.
Spring Security [1] - JWT๋ฅผ ์ด์šฉํ•œ REST API ์ธ์ฆ๊ณผ ์ธ๊ฐ€ ๊ธฐ์กด ์ธ์ฆ์€ JWT๋ฅผ ์ด์šฉํ•œ ํ•„ํ„ฐ๋กœ, ์ธ๊ฐ€๋Š” ์ธํ„ฐ์…‰ํ„ฐ๋กœ ์• ๋…ธํ…Œ์ด์…˜์„ ์ •์˜ํ•ด ์†์ˆ˜ ๊ตฌํ˜„ํ–ˆ์—ˆ๋‹ค. ์ด๋ฒˆ์— ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•˜๋ฉด์„œ, ์Šคํ”„๋ง์ด ์ œ๊ณตํ•˜๋Š” ๋ณด์•ˆ ๊ด€๋ จ ํ”„๋ ˆ์ž„์›Œํฌ์ธ ์„œํ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž๋Š” ๊ฒฐ์ •์„ ๋‚ด๋ ค ๋„์ž…ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์–ด๋ ต๋‹ค๊ณ ๋Š” ์–ผํ• ๋“ค์—ˆ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ค„ ๋ชฐ๋ž๋‹ค. ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ๋“ค์„ ์ฐธ์กฐํ•˜๊ณ , ์ž˜ ์ฝํžˆ์ง€๋„ ์•Š๋Š” ๊ณต์‹๋ฌธ์„œ๋“ค์„ ๋ณด์•„๋„ ๋„๋ฌด์ง€ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š์•˜๋‹ค. ์ผ๋‹จ ๋จธ๋ฆฟ์†์— ๊ทธ๋ ค์ ธ์•ผ ๊ฐ์ด ์žกํžˆ๋Š”๋ฐ, ์ด๊ฑด ๋ญ ํ•„ํ„ฐ๋„ ์—ฌ๋Ÿฌ ๊ฐœ์ด๋ฉฐ ๊ตฌํ˜„์ฒด๋„ ์™œ ์ด๋ ‡๊ฒŒ ๋งŽ์€์ง€ ๊ทธ์— ๋งž๋Š” ์ฑ…์ž„๊ณผ ์—ญํ• ์ด ๋„์ €ํžˆ ๊ฐ์ด ์˜ค์ง€ ์•Š๋Š”๋‹ค. ์ „๋ถ€ ์ถ”์ƒํ™” ๋˜์–ด ์žˆ์–ด ์ปค์Šคํ…€ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ํŽธํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๋Š”๋ฐ, ์ „๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ธฐ์—” ์‰ฝ์ง€ ์•Š๊ธฐ๋„ ํ•˜๊ณ  ๋”ฐ๋กœ ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ฑฐ์ง„ 1์ฃผ ๋ฐ˜์ด ๋„˜์–ด์„œ์•ผ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•˜๊ณ ์ž.. 2022. 8. 18.
ใ€ŒํŒŒ์ผ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ๋ฐ ํ…Œ์ŠคํŠธใ€ ์ด๋ฒˆ ์ฃผ์— Sonarqube๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์ ์šฉํ•˜๊ธฐ ์ „ ์ „์ฒด์ ์ธ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๊ฒ€ํ†  ์ค‘์ด์—ˆ๋‹ค. ๋นผ๋†“์€ ํ•„์ˆ˜์ ์ธ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ƒํ’ˆ ํ…Œ์ด๋ธ”์—๋Š” ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ด๋ฆ„ ์นผ๋Ÿผ์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋ฅผ ๊นœ๋ฐ•ํ–ˆ๋˜ ๊ฒƒ์ด๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ, ๋‹ค์šด๋กœ๋“œ ๊ธฐ๋Šฅ์„ ๊ธ‰ํ•˜๊ฒŒ ์ ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด ๊ณผ์ •์„ ๊ธฐ๋ก์œผ๋กœ ์ž‘์„ฑํ•˜๊ฒ ๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ ํŒŒ์ผ์„ ๋“ฑ๋กํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํƒ€์ž…์œผ๋กœ ์Šคํ”„๋ง์—์„œ๋Š” MultipartFile ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ์ด์šฉํ•˜๋Š” ๋‚ด API๋Š” ์ƒํ’ˆ ์ถ”๊ฐ€์™€ ์ˆ˜์ •์ด๋‹ค. ๋จผ์ € ํŒŒ์ผ ์—…๋กœ๋“œํ•  ์œ„์น˜๋ฅผ ๋‚ด๋ถ€ ๊ฒฝ๋กœ์™€ ์™ธ๋ถ€ ๊ฒฝ๋กœ์ค‘ ๊ณ ๋ฏผ์„ ํ–ˆ๋‹ค. ์ €๋ฒˆ ํ”„๋กœ์ ํŠธ ๋•Œ๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€๋กœ ์ง€์ •ํ–ˆ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐฐํฌ ์‹œ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋ฅผ ๋ชป ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. .. 2022. 7. 1.
2022.06.07 ใ€Œํ”„๋กœ์ ํŠธ ์ค‘๊ฐ„ ์ ๊ฒ€ใ€ ์ด๋ฒˆ 4์ผ ๊ฐ„ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง‘์ค‘ ์žˆ๊ฒŒ ํ•˜๋Š๋ผ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ž‘์„ฑ๋„ ๋ชปํ•˜๊ณ  ์ฝ”ํ…Œ ์ค€๋น„๋„ ์ œ๋Œ€๋กœ ๋ชปํ–ˆ๋‹ค ใ…œใ…œ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์—๋Š” ์†๋„์— ๋Œ€ํ•œ ๋ฐ˜์„ฑ์„ ๋งŽ์ด ํ–ˆ์—ˆ๋Š”๋ฐ, ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ํ”„๋กœ์ ํŠธ์˜ ํ‹€์ด ์žกํž์ˆ˜๋ก ๊ทธ ๋ฐ˜์„ฑ์€ ํฐ ์˜ค์‚ฐ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ํ€„๋ฆฌํ‹ฐ ์žˆ๊ณ , ํด๋ฆฐ ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด ๊ฝค๋‚˜ ๊ณต๋“ค์ด๋ฉฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์ฆ‰, ๋” ํšจ์œจ์ ์ธ ์‹œ๊ฐ„ ๋ถ„๋ฐฐ๊ฐ€ ๊ด€๊ฑด์ด๋‹ค. ์ด์ œ ํ”„๋กœ์ ํŠธ์—์„œ ๊ณ„ํšํ•œ ๊ธฐ๋Šฅ์€ ๊ฑฐ์˜ ๊ตฌ์„ฑ์ด ๋œ ์ƒํ™ฉ์ด๋‹ค. ๊ฑฐ์ง„ 1๋‹ฌ์ด ๊ฑธ๋ ธ๋‹ค. ๊ณ„ํšํ•œ ๊ฒƒ์— ๋น„ํ•ด ๋Šฆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ๋ณธ๊ฒฉ์ ์ธ ๋ฆฌํŒฉํ„ฐ๋ง์„ ์ ์šฉํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค. ์ฒ˜์Œ์œผ๋กœ ํ˜ผ์ž์„œ ์ œ๋Œ€๋กœ ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ์• ์ฐฉ์ด ๊ฐ€๊ธฐ๋„ ํ•œ๋‹ค. ์ด์ œ ๋ฐ˜๋„ ์•ˆ ์™”๊ณ , ๊ฐˆ ๊ธธ์ด ํ—˜๋‚œํ•  ํ…Œ์ง€๋งŒ ์ด๋ค„๋ณด์ž~ ์ง€๋‚œ 4์ผ ๊ฐ„ ๊ตฌํ˜„ ๋ชฉ๋ก ์นด์นด์˜ค ํŽ˜์ด REST AP.. 2022. 6. 7.
2022.06.01 ใ€Œ๊ฒฐ์ œ API - Ver.2ใ€ ์ง€๋‚œ๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด ์ž‘์„ฑํ•˜๊ฒ ๋‹ค! https://sweeeetgoguma.tistory.com/entry/20220529-%E3%80%8C%EA%B2%B0%EC%A0%9C-API%E3%80%8D 2022.05.29 ใ€Œ๊ฒฐ์ œ APIใ€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ crud ์ž‘์—…ํ•œ ๊ฒƒ์„ ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ด๋ฒˆ ์ฃผ์— ๋๋‚ด๊ณ  ๋‚˜์„œ, ๋’ค๋Šฆ๊ฒŒ ๊ฒฐ์ œ API๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์นด์นด์˜ค ํŽ˜์ด API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ƒ๊ฐ๋งŒํผ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ์–ด๋””์„œ ๋ณธ ๊ฑด๋ฐ sweeeetgoguma.tistory.com ์นด์นด์˜คํŽ˜์ด Rest API๋ฅผ ์ด์šฉํ•ด ๊ฒฐ์ œ ์ค€๋น„์— ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ๋‹ค. ์นด์นด์˜ค ํŽ˜์ด ํ”„๋กœ์„ธ์Šค์— ๋”ฐ๋ผ ์ค€๋น„์™€ ๊ฒฐ์ œ ๋ฐ ์Šน์ธ์„ ์œ„ํ•œ ํ†ต์‹  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ณผ์ • ์†์—์„œ ์ˆ˜๋งŽ์€ ์‚ฝ์งˆ์ด ์žˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ์‚ฝ์งˆ์ด๋ผ๊ธฐ๋ณด๋‹ค.. 2022. 6. 1.
2022.05.29 ใ€Œ๊ฒฐ์ œ APIใ€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ crud ์ž‘์—…ํ•œ ๊ฒƒ์„ ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ด๋ฒˆ ์ฃผ์— ๋๋‚ด๊ณ  ๋‚˜์„œ, ๋’ค๋Šฆ๊ฒŒ ๊ฒฐ์ œ API๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์นด์นด์˜ค ํŽ˜์ด API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ƒ๊ฐ๋งŒํผ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ์–ด๋””์„œ ๋ณธ ๊ฑด๋ฐ ๋งŒ๋“ค์–ด์ง„ API๋ฅผ ๊ฐ€์ ธ์™€์„œ ์“ฐ๋Š” ๊ฒƒ๋„ ๋Šฅ๋ ฅ์ด๋ผ๊ณ ..ใ…‹ใ…‹ ๊ทธ๋ž˜๋„ ํ•ด์•ผ์ง€ ์–ด์ฉŒ๊ฒ ๋‚˜. ์นด์นด์˜ค ํŽ˜์ด API ๋ฌธ์„œ๋ฅผ ๋ณด๋‹ˆ ๋˜๊ฒŒ ๋‹ค์–‘ํ•œ API๋ฅผ ์†Œ๊ฐœํ•ด ๋†“์•˜๋‹ค. ๊ฒฐ์ œ ์š”์ฒญ๋„ ๋ณด์•ˆ์ƒ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ํ•ด์•ผ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„˜๊ฒจ ์ฃผ๊ณ  ๋ฐ›๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ๊ต‰์žฅํžˆ ๋งŽ๋‹ค. ์‹ค๊ฑฐ๋ž˜๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ API๋ผ ํ™•์‹คํžˆ ๋‹ค๋ฅด๊ธด ํ•˜๋‹ค. ๊ฐœ์ธ์ ์ธ ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ํ…Œ์ŠคํŠธ ๊ฒฐ์ œ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๋ฆฌ๋Š” ์ž‘์—…์€ ์ฐธ ๊ณจ์น˜ ์•„ํ”ˆ ์ผ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์ผ๋‹จ ๊ฒฐ์ œ ์š”์ฒญ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ์„ค๊ณ„ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํฌ๊ฒŒ ๋ณด๋ฉด ๋‘ ๊ฐ€์ง€ ์ข….. 2022. 5. 29.
2022.05.22 ใ€ŒShopping Cart API [Ver.2]ใ€ ์–ด์ œ๋ถ€ํ„ฐ ์žฅ๋ฐ”๊ตฌ๋‹ˆ API ๊ตฌํ˜„์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์„ ์ •๋ง ๋งŽ์ด ํ–ˆ๋‹ค. ๋‹น์—ฐํžˆ DB๋ฅผ ์ด์šฉํ•˜๋‹ค ์ฟ ํ‚ค๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๋Š” ์‹œ๋„๊ฐ€ ์ฒ˜์Œ์ด๋ผ ๋” ๊ฐœ๋…์ด ๋‚ฏ์„ค์—ˆ๋‹ค. ์ถ”๊ฐ€ ๋ฐ ์กฐํšŒ๋Š” ๋๋‚ฌ๋Š”๋ฐ, ์˜ค๋Š˜ ์•„์นจ ๋‹ค์‹œ ๋ณด๋‹ˆ ์ถ”๊ฐ€์—์„œ ์ด์ƒํ•œ ๋กœ์ง์ด ์žˆ์—ˆ๊ณ , ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์„œ ์ˆ˜์ •์„ ํ•˜๊ณ  ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ API๋ฅผ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค. API๋ฅผ ์„ค๊ณ„ํ•˜๋ฉด์„œ ๋ฌธ์ œ์ ๋“ค๊ณผ ํ™•์‹คํžˆ ์•Œ๊ฒŒ ๋œ ์ ์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค~ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์กฐํšŒ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์กฐํšŒํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๊ณง ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ์ƒํ’ˆ ๋ชฉ๋ก์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ฒ ๋‹ค๋Š” ๊ฒƒ. ๊ทธ ์ƒํ’ˆ ๋ชฉ๋ก์˜ ๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ–ˆ๋‹ค. public class CartItemDTO { private final Integer productNo; private Integer productStock; private final String prod.. 2022. 5. 22.
2022.05.21 ใ€Œ Shopping Cart API ๋งŒ๋“ค๊ธฐ ใ€ ์–ด์ œ๋ถ€๋กœ ์ธ์ฆ, ์ธ๊ฐ€ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค. ์ง„์งœ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ์†๋„๋ฅผ ์ข€ ๋” ๋‚ผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์˜ค๋Š˜๋ถ€ํ„ฐ๋Š” ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ๋งŒ๋“ค๊ฑด๋Œ€ ์ด๋ฒˆ์—๋Š” DB๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด ๋ณผ ์ƒ๊ฐ์ด๋‹ค. ์ฟ ํ‚ค์— ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋„ฃ์–ด์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•œ ๋•Œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๋ฐ์ดํ„ฐ๋„ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ์„ ํ–ˆ๋Š”๋ฐ ๋ณดํ†ต ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์ฟ ํ‚ค๋‚˜ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ด์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚˜๋Š” ์˜จ์ „ํ•œ API๋กœ๋งŒ ๊ตฌํ˜„์„ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค. ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ๊นŒ? ์ผ๋‹จ DB์— ์ €์žฅ์„ ๋”ฐ๋กœ ํ•˜์ง€ ์•Š๊ณ  ์ฟ ํ‚ค๋กœ ๊ตฌํ˜„์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค. ๊ธฐ๋Šฅ 1. ์ƒํ’ˆ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ์ถ”๊ฐ€ 2. ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด๊ธด ์ƒํ’ˆ ๋ชฉ๋ก ์กฐํšŒ => ์ˆ˜์ •๊ณผ ์‚ญ์ œ๊ฐ€ ์—†๋Š” ์ด์œ ๋Š” ํ”„๋ŸฐํŠธ๋‹จ์—์„œ ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š.. 2022. 5. 21.
2022.05.12 ใ€ŒResponseEntity body & BuilderPattern & Joinใ€ Restful ํ•œ api๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์€ ์ฐธ ๊นŒ๋‹ค๋กœ์šด ๊ฒƒ ๊ฐ™๋‹ค. ํ•™์›์—์„œ ์™„์ „ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ๋งŒ ๋ฐฐ์šด ๊ฒƒ๋„ ์žˆ์—ˆ๊ณ  ๊ทธ ๋ถ€๋ถ„๋งŒ ๋จธ๋ฆฟ์†์— ๊นŠ์ด ์ €์žฅ๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ๋Œ€๋กœ ๋œ rest ๋ฐฉ์‹์€ ๋‹ค๋ฅธ ๊ฒƒ์ž„์„ ์ดํ•ดํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ํšŒ์› ๊ฐ€์ž…, ๋กœ๊ทธ์ธ๋งŒ ํ•˜๋”๋ผ๋„ ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ๋ˆ„๊ตฐ๊ฐ€์—๊ฒ ๋ณ„๊ฒŒ ์•„๋‹ํ…Œ์ง€๋งŒ ์–ด๋–ค ์‹์œผ๋กœ ์ƒ๊ฐ์„ ํ•˜๋ฉฐ ์„ค๊ณ„๋ฅผ ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์–ด์ œ ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ํŠนํžˆ restfulํ•œ ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ์ฒ˜์Œ ํ•ด๋ณด๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋‚ฏ์„ค๊ณ  ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ ๋˜์—ˆ๋‹ค. ๋ณดํ†ต Return Type์ธ ResponseEntity๋ฅผ ์‚ฌ์šฉํ•ด ์‘๋‹ต ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋Œ๋ ค์ฃผ๋Š”๋ฐ ํ—ค๋”์™€ ๋ฐ”๋””์— ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๊ฑธ ๊ณ ๋ฅด๋Š” ๊ฒŒ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ์˜ค๋Š˜๋„ ์•„์นจ๋ถ€ํ„ฐ ์ง€๊ธˆ ์˜คํ›„.. 2022. 5. 12.
2022.05.08 ใ€ŒRestFulํ•œ api? & ResponseEntity์˜ ์‚ฌ์šฉใ€ ์–ด๊น€ ์—†์ด ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰์ค‘์ด๋‹ค. ์ผ์ฃผ์ผ ์ „ View๋ฅผ ์—†์• ๊ณ  ์ข€ ๋” Back์— ์ง‘์ค‘๋œ api๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดˆ์ ์„ ๋งž์ท„๋‹ค. handler ๋ฉ”์„œ๋“œ์˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋‹จ์ˆœํžˆ json ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ฃผ๋ฉด ๋˜๋Š” ๊ฑฐ ์•„๋‹ˆ๋ƒ? ๋ผ๊ณ  ์ƒ๊ฐ์„ ํ–ˆ์ง€๋งŒ ๊ฒ€์ƒ‰์„ ์—ฌ๋Ÿฌ๋ฒˆ ํ•ด๋ณด๋‹ˆ ์ •๋ง ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ธฐ ์ „๊นŒ์ง€๋Š” ํ•จ๋ถ€๋กœ ์ƒ๊ฐํ•˜์ง€ ๋ง์ž๋ผ๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ๋‹ค.. ์–ด๋ ดํ’‹์ด ๋ฐฐ์› ๋˜ rest api๊ฐ€ ๋– ์˜ฌ๋ž๊ณ  ์ œ๋Œ€๋กœ ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์ด์šฉ์„ ํ•ด์„œ restfulํ•œ api๋ฅผ ๋งŒ๋“ค์–ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์— ๊ฐœ๋…์ •๋ฆฌ๋ฅผ ๊ฒฐ์‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์œผ๋กœ ResponseEntity์˜ ์‚ฌ์šฉ์ด ๋งŽ์€๋ฐ ์ด ํƒ€์ž…์„ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€๋„ ํ•œ๋ฒˆ ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค. Rest๊ฐ€ ์ •ํ™•ํžˆ ๋ญ˜๊นŒ?? Representational State Transfer -> ์ž์›์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น .. 2022. 5. 8.
๋ฐ˜์‘ํ˜•