๊ด€๋ฆฌ ๋ฉ”๋‰ด

Seok_In

[Soft Squared] ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ผ์ง€ 4์ฃผ์ฐจ ๋ณธ๋ฌธ

SoftSquared/๊ฐœ๋ฐœ์ผ์ง€

[Soft Squared] ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ผ์ง€ 4์ฃผ์ฐจ

Seok_IN 2021. 10. 16. 13:01

๐Ÿ“– 4์ฃผ์ฐจ ๊ฐ•์˜๋‚ด์šฉ(2021.10.04)

๐Ÿ”ท BL(Backend Language) : ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

ex) Spring Boot, NodeJS

 

 

๐Ÿ”ท API (Application Programming Interface) : ์šด์˜์ฒด์ œ๋‚˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ํ†ต์‹ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋‚˜ ๋ฉ”์„ธ์ง€ ํ˜•์‹์„ ๋งํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ์ž์ฃผ ์“ฐ์ด๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋†“์€ ๊ฒƒ์„ ๋งํ•œ๋‹ค.

๐Ÿ”ท REST API : ์ž์›์„ ํ‘œํ˜„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” API๋ฅผ ๋งํ•œ๋‹ค.

 

๐Ÿ”ท REST 6๊ฐ€์ง€ ์ œํ•œ์กฐ๊ฑด

- ์ธํ„ฐํŽ˜์ด์Šค ์ผ๊ด€์„ฑ : ์ผ๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค.

- ๋ฌด์ƒํƒœ : ๊ฐ ์š”์ฒญ ๊ฐ„ ํด๋ผ์ด์–ธํŠธ์˜ Context๊ฐ€ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋ฉด ์•ˆ๋œ๋‹ค.

- ์บ์‹œ์ฒ˜๋ฆฌ๊ฐ€๋Šฅ : WWW ์—์„œ์™€ ๊ฐ™์ด ํด๋ผ์ด์–ธํŠธ๋Š” ์‘๋‹ต์„ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.

-๊ณ„์ธตํ™” : ํด๋ผ์ด์–ธํŠธ๋Š” ๋ณดํ†ต ๋Œ€์ƒ ์„œ๋ฒ„์— ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ์ค‘๊ฐ„์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

- Code on Demand : ์ž๋ฐ” ์• ํ”Œ๋ฆฟ์ด๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ œ๊ณต์„ ํ†ตํ•ด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋กœ์ง์„ ์ „์†กํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ํ™•์žฅ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“š4์ฃผ์ฐจ ๊ณผ์ œ

๐Ÿ“Œ 3์ฃผ์ฐจ ๊ณผ์ œ์—์„œ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ API๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ (With ํ…œํ”Œ๋ฆฟ)

๐Ÿ“Œ ๊ตฌ์ถ•ํ•œ API ๊ตฌ๊ธ€์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋กœ ๋ช…์„ธ์„œ ์ž‘์„ฑํ•˜๊ธฐ

๐Ÿ”ท 2021.10.05 ~ 2021.10.09

โ—ผ SpringBoot ๊ธฐ๋ณธ ํ™˜๊ฒฝ ๊ตฌ์ถ•

- ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ์„ค์ •

- WinSCP๋ฅผ ์ด์šฉํ•œ Build ๊ตฌ์ถ•

๐Ÿšจ ์ตœ์ดˆ์—๋Š” ์„œ๋ฒ„์—์„œ ๊ตฌํ˜„์„ ํ•˜๋ ค๊ณ  ํ•˜์˜€์œผ๋‚˜ ๋งค๋ฒˆ ๋นŒ๋“œ๋ฅผ ํ•ด์ค˜์•ผํ•˜๋Š” ๊ณผ์ •์ด ๋ฒˆ๊ฑฐ๋กœ์›Œ์„œ ๋กœ์ปฌ์—์„œ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

- DemoApplication ์‹คํ–‰๊ฐ„์— SpringBoot ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด ์„œ๋ฒ„์—๋งŒ ๋ฐ˜์˜์„ ํ•ด๋‘๊ณ  ๋กœ์ปฌ์—์„œ๋Š” ๋ฐ˜์˜ํ•˜์ง€ ์•Š์•„, ์•ˆ๋˜๋Š” ์ค„ ์•Œ๊ณ  ๊ณ„์† ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค... ๊ฒฐ๊ตญ ์Šคํ„ฐ๋”” ๋ชจ๊ฐ์ฝ”์—์„œ ๋„์›€์„ ๋ฐ›์•„ ๋กœ์ปฌ์—์„œ ๋ฐ˜์˜์„ ์•ˆํ–ˆ๋˜ ๊ฒƒ์„ ์•Œ์•˜๊ณ  ํ›„์— ๋ถ€ํ„ฐ ์ง„ํ–‰์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๐Ÿ”ท 2021.10.10 ~ 2021.10.11

โ—ผ API ๊ตฌ์ถ•

- GET ๋ฐฉ์‹์„ ํ†ตํ•œ API ๊ตฌ์ถ•

๐Ÿšจ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ์ด‰๋ฐ•ํ•˜์—ฌ ๊ณผ์ œ๋ฅผ ์‹œ๊ฐ„๋‚ด์— ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๋ชฉ์š”์ผ๊นŒ์ง€ ๋ช…์„ธ์„œ ์ž‘์„ฑ ๋ฐ API ๋งˆ๋ฌด๋ฆฌ๋ฅผ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

๐Ÿ”ท 2021.10.11~ 2021.10.14

- GET, POST ๋ฐฉ์‹์„ ํ†ตํ•œ API ๊ตฌ์ถ•

- ๊ตฌ๊ธ€ ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ๋ฅผ ํ†ตํ•œ API ๋ช…์„ธ์„œ ์ž‘์„ฑ

 

๐Ÿšจ ์ถ”ํ›„ ๋ณด์™„ ๋‚ด์šฉ

- Validation ์ž‘์„ฑ

- API ๋ช…์„ธ์„œ ์ž‘์„ฑ๊ฐ„ ๊ตฌํ˜„ ์‚ฌ์ง„ ์ถ”๊ฐ€

- API ๋ช…์„ธ์„œ ์ž‘์„ฑ๊ฐ„ ์˜คํƒ€ ์ˆ˜์ •

- API ๋ช…์„ธ์„œ ์ž‘์„ฑ๊ฐ„ STRING์— "" ์ ์šฉํ•  ์ง€ ๋ง์ง€ ํ•œ๊ฐ€์ง€๋กœ ํ†ต์ผํ•  ๊ฒƒ

- API ๋ช…์„ธ์„œ ์ž‘์„ฑ๊ฐ„ PathVariable์€ ์ง€์›Œ์ฃผ๊ธฐ

- API ๋ช…์„ธ์„œ ์ž‘์„ฑ๊ฐ„ isSuccess,code,result ์ˆœ์œผ๋กœ ์˜ค๊ฒŒ ํ•˜๊ธฐ

- /menu/storeIdx ๊ฐ™์€ ๊ฒฝ์šฐ /storeIdx/menu ์ˆœ์œผ๋กœ ๋งŒ๋“ค๊ธฐ

- ResponseSample์— ์ „์ฒด๋‚ด์šฉ ๋‹ด๊ธฐ(์บก์ณ๊ฐ€ ์•„๋‹˜)

- DB์— menuOption์ด ๋น„์–ด์žˆ๋Š” ์ƒํƒœ๊ฐ’ ํ•˜๋‚˜๋” ๋งŒ๋“ค์–ด์ฃผ๊ธฐ

- API์— Index์‚ฌํ•ญ ๋งํฌ๋กœ ๊ฑธ์–ด์ฃผ๊ธฐ

 


๐Ÿ“‘ ๊ณผ์ œ๋ฅผ ๋งˆ์น˜๊ณ ..

์ž๋ฐ”์— ๋Œ€ํ•œ ๋ฌธ๋ฒ•๋„ ์ต์ˆ™์น˜ ์•Š์•„ API ์ตœ์ดˆ ์ž‘์„ฑ์—๋Š” ์˜ค๋ž˜ ๊ฑธ๋ ธ์ง€๋งŒ ํ•˜๋‚˜ ๋‘˜ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋‹ˆ ์ต์ˆ™ํ•ด์ง„ ํŒจํ„ด์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์‚ฝ์งˆํ•˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ์•„ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๊ณ  ์žˆ๋Š”๋ฐ ํšจ์œจ์„ ์ข€ ๋Œ์–ด์˜ฌ๋ ค์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๊ฒ ๋‹ค.