Community

๐Ÿ•Š๏ธ ์ž๋ฐ” REST API ๋กœ๊น…: ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ๊ฐ€์ด๋“œ๋ผ์ธ

๋กœ๊ทธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ด ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ๊ฐ€์žฅ ๋นจ๋ฆฌ ๊ฐ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ฅด๋ฉด ๋กœ๊ทธ์—์„œ ๋” ๋งŽ์€ ๊ฐ€์น˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ ํ‘œ์ค€ ๋กœ๊น… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ๋กœ๊น…์„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, Log4j, Logback๊ณผ ๊ฐ™์€ ํ‘œ์ค€ ๋กœ๊น… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ Appenders ํ˜„๋ช…ํ•˜๊ฒŒ ์„ ํƒ Appenders๋Š” ๋‹ค์–‘ํ•œ ๋Œ€์ƒ์— ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์‚ฌ๋ก€์— ๋”ฐ๋ผ Appenders๋ฅผ ํ˜„๋ช…ํ•˜๊ฒŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋กœ๊ทธ๋ฅผ ์˜ค๋žซ๋™์•ˆ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ ์˜๋ฏธ ์žˆ๋Š” ๋ฉ”์‹œ์ง€ ์‚ฌ์šฉ "Error hurved"(์˜ค๋ฅ˜ ๋ฐœ์ƒ) ๋Œ€์‹  "Failed to database"(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜์ง€ ๋ชปํ•จ)์„ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๐Ÿ“Œ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ์ง€์ • ๋ฐ ๊ตฌ์กฐํ™” - ๊ฐ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ์ผ๊ด€๋˜๊ณ  ๋ช…ํ™•ํ•œ ํŒจํ„ด์‚ฌ์šฉ - ํ‘œ์ค€ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ํ˜•์‹(ISO 8601) ์‚ฌ์šฉ - ๊ณตํ†ต ๊ตฌ๋ถ„ ๊ธฐํ˜ธ(๊ณต๋ฐฑ ๋˜๋Š” ์„ธ๋ฏธ์ฝœ๋ก )๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ํ•„๋“œ ๊ตฌ๋ถ„ - JSON์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘์ฒฉ๋œ ๋ฐ์ดํ„ฐ ํ‘œ์‹œ - ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ(+) ๋Œ€์‹  ๋งค๊ฐœ ๋ณ€์ˆ˜ํ™”๋œ ๋ฉ”์‹œ์ง€({})๋ฅผ ์‚ฌ์šฉ ๐Ÿ“Œ ๋กœ๊น… ํ•„ํ„ฐ ๋ฐ ์ธํ„ฐ์…‰ํ„ฐ ๊ตฌํ˜„ ๋กœ๊น… ํ•„ํ„ฐ ๋ฐ ์ธํ„ฐ์…‰ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋กœ๊น… ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์š”์ฒญ ๋ฐ ์‘๋‹ต ์„ธ๋ถ€ ์ •๋ณด ๊ธฐ๋ก - REST API์˜ ์‹คํ–‰ ์‹œ๊ฐ„ ๋ฐ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ ๊ธฐ๋ก - ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ ๋ฐ ์˜ค๋ฅ˜ ๊ธฐ๋ก - ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ์ •๋ณด ๊ธฐ๋ก - ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ธฐ๋ก ๐Ÿ“Œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋Š” ๋งˆ์Šคํ‚น ๋ฐ ์•”ํ˜ธํ™” - ์ •๊ทœ์‹ ๋˜๋Š” ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„ํ‘œ(*)๋กœ ๋ณ€๊ฒฝ - ํ•ด์‹ฑ ๋˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๋Š” ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ ๐Ÿ“Œ ์ ์ ˆํ•œ ๋กœ๊ทธ ๋ ˆ๋ฒจ ์‚ฌ์šฉ ๐Ÿ“Œ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ ๋กœ๊น… ๐Ÿ“Œ JSON ํฌ๋งท ์‚ฌ์šฉ ๐Ÿ“Œ ๋กœ๊ทธ ํŒŒ์ผ ๊ฐฑ์‹  ๋ฐ ๋ณด๊ด€ ๋กœ๊ทธ ํŒŒ์ผ์€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋งค์šฐ ์ปค์ง€๊ณ  ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋งŽ์ด ์†Œ๋ชจ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ ํŒŒ์ผ์˜ ํฌ๊ธฐ์™€ ์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ณด๊ด€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - ์‹œ๊ฐ„๋Œ€๋ณ„ ๊ฐฑ์‹ : ์ผ์ •ํ•œ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๊ธฐ์ค€์œผ๋กœ ๋กœ๊ทธ ํŒŒ์ผ ๊ฐฑ์‹  - ํฌ๊ธฐ๋ณ„ ๊ฐฑ์‹ : ์ผ์ •ํ•œ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋กœ๊ทธ ํŒŒ์ผ ๊ฐฑ์‹  - ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฐฑ์‹ : ์‹œ๊ฐ„๊ณผ ํฌ๊ธฐ ๊ธฐ์ค€์„ ๊ธฐ์ค€์œผ๋กœ ๋กœ๊ทธ ํŒŒ์ผ ๊ฐฑ์‹  - ์••์ถ•: ๋กœ๊ทธ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ฐฑ์‹  ํ›„ ์••์ถ• - ์‚ญ์ œ: ์ผ์ • ์‹œ๊ฐ„์ด ๊ฒฝ๊ณผํ•œ ํ›„ ๋˜๋Š” ์ผ์ • ์ˆ˜์˜ ํŒŒ์ผ์— ๋„๋‹ฌํ•œ ๊ฒฝ์šฐ ์ด์ „ ๋กœ๊ทธ ํŒŒ์ผ ์‚ญ์ œ

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค