๋ชฉ๋ก์ „์ฒด ๊ธ€ (132)

YS's develop story

Query String ๊ณผ Path Variable ๋น„๊ต ๋ฐ ํ™œ์šฉ

Query String, ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง ํ™œ์šฉํ•˜๊ธฐ '๊ฑด๋Œ€'๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ํŠน์ • ์นดํŽ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„  ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋ž˜์™€ ๊ฐ™์ด ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ํ™œ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. cafeRoute.js cafecontroller.js ์‚ฌ์šฉ์ž๊ฐ€ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  /cafe์™€ ๊ฐ™์ด ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ชจ๋“  ์นดํŽ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , /cafe?cafeName=๊ฑด๋Œ€ ์™€ ๊ฐ™์ด ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋ฉด cafeName์— ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜์–ด ๊ทธ ์นดํŽ˜๋งŒ์„ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. cafeDao.js ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง ์ฒ˜๋ฆฌ ๋ถ€๋ถ„ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ฟผ๋ฆฌ๋ฅผ ์งค ๋•Œ Like concat ('%',?,'%')์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.. ์ฒ˜์Œ์— %?%์ด๋Ÿฐ์‹์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์งฐ๋Š”๋ฐ ์ฟผ๋ฆฌ๋ฅผ ์ธ์‹์„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.. Postman์—์„œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด..

API์™€ REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€..?

RP2๊ธฐ API์™€ REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€..? ์ˆ˜์—…๋‚ด์šฉ ์ •๋ฆฌ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ Request, Response๋ฅผ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ๋ฅผ Packet๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Packet์„ ์†Œํฌ ์ƒ์ž๋ผ๊ณ  ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. ์†Œํฌ ์ƒ์ž์—๋Š” label์ด ๋ถ™์–ด ์žˆ์„ ๊ฒƒ์ธ๋ฐ ์ด label๋ฅผ Header๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. Header์—๋Š” Meta data๊ฐ€ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Meta data๋ž€... ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ”ํžˆ๋“ค ๊ฐ„๋‹จํžˆ ์ •์˜ํ•˜์ง€๋งŒ ์—„๊ฒฉํ•˜๊ฒŒ๋Š” "์–ด๋–ค ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ"๋ผ๊ณ ๋„ ์ •์˜ํ•œ๋‹ค. ๊ฐ€๋ น ๋„์„œ๊ด€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ์ง€ ๊ธฐ์ˆ ์šฉ์œผ๋กœ ๋งŒ๋“  ๊ฒƒ์ด ๊ทธ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ด๋‹ค. ์†Œํฌ ์ƒ์ž ์•ˆ์—๋Š” ์ง„์งœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค์ด ๋“ค์–ด์žˆ์„ ๊ฒƒ์ธ๋ฐ ์ด๊ฒƒ์„ Body๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด์„œ ํŒจํ‚ท..