๐Ÿผ ๋ฐฑ์•ค๋“œ/HTTP

4. HTTP API ๋ฉ”์„œ๋“œ

๊ณ„๋ž€์†Œ๋…„ 2024. 1. 9. 16:21

HTTP API ๋ฉ”์„œ๋“œ

์š”๊ตฌ์‚ฌํ•ญ

  • ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ
  • ํšŒ์› ์กฐํšŒ
  • ํšŒ์› ๋“ฑ๋ก
  • ํšŒ์› ์ˆ˜์ •
  • ํšŒ์› ์‚ญ์ œ

 

์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

API URL ์„ค๊ณ„

  • ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ → /read-member-list
  • ํšŒ์› ์กฐํšŒ → /read-member-by-id
  • ํšŒ์› ๋“ฑ๋ก → /create-member
  • ํšŒ์› ์ˆ˜์ • → /update-member
  • ํšŒ์› ์‚ญ์ œ → /delete-member

ํ•˜์ง€๋งŒ, ์ด๋Š” ์ข‹์€ ์„ค๊ณ„๊ฐ€ ์•„๋‹ˆ๋‹ค. URI์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ด๋‹ค.

๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

๋ฆฌ์†Œ์Šค๋ž€?

ํšŒ์›์„ ๋“ฑ๋ก,์ˆ˜์ •,์กฐํšŒ ํ•˜๋Š”๊ฒƒ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋Š” “ํšŒ์›” ๊ทธ ์ž์ฒด๊ฐ€ ๋ฆฌ์†Œ์Šค์ด๋‹ค.

๊ณ„์ธต ๊ตฌ์กฐ ์ƒ์œ„๋ฅผ ์ปฌ๋ ‰์…˜์œผ๋กœ ๋ณด๊ณ  ๋ณต์ˆ˜ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ex) members

  • ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ → /members
  • ํšŒ์› ์กฐํšŒ → /members/{id}
  • ํšŒ์› ๋“ฑ๋ก → /members/{id}
  • ํšŒ์› ์ˆ˜์ • → /members/{id}
  • ํšŒ์› ์‚ญ์ œ → /members/{id}

์–ด? ์กฐํšŒ,๋“ฑ๋ก,์ˆ˜์ •,์‚ญ์ œ URI๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€๋ฐ ๊ตฌ๋ถ„์„ ์–ด๋–ป๊ฒŒ ํ•ด?

๋‹ค์‹œํ•œ๋ฒˆ ๋งํ•˜์ง€๋งŒ URI๋Š” ๋ฆฌ์†Œ์Šค๋งŒ ์‹๋ณ„ํ•œ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฆฌ์†Œ์Šค์™€ ํ–‰์œ„๋ฅผ ๋ถ„๋ฆฌํ•ด์•ผํ•œ๋‹ค.

  • ๋ฆฌ์†Œ์Šค: ํšŒ์› - ๋ช…์‚ฌ (N)
  • ํ–‰์œ„: ์กฐํšŒ, ๋“ฑ๋ก, ์‚ญ์ œ, ๋ณ€๊ฒฝ - ๋™์‚ฌ (V)

์ž ์ด์ œ ๊ฐ๊ฐ์˜ ํ–‰์œ„๋ผ๋ฆฌ ๊ตฌ๋ถ„ํ•ด ๋ณด์ž.

HTTP ๋ฉ”์„œ๋“œ

  • GET: ๋ฆฌ์†Œ์Šค ์กฐํšŒ
  • POST: ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ์ฃผ๋กœ ๋“ฑ๋ก์— ์‚ฌ์šฉํ•œ๋‹ค.
  • PUT: ๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์ฒดํ•˜๋ฉฐ, ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์ƒ์„ฑํ•œ๋‹ค.
  • PATCH: ๋ฆฌ์†Œ์Šค ๋ถ€๋ถ„ ๋ณ€๊ฒฝ
  • DELETE: ๋ฆฌ์†Œ์Šค ์‚ญ์ œ

 


1. GET

๋ฆฌ์†Œ์Šค ์กฐํšŒ์— ์‚ฌ์šฉํ•˜๋ฉฐ, ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ( ex) ๊ฒ€์ƒ‰์—”์ง„์— ๋„˜๊ธธ ๋ฐ์ดํ„ฐ)๋Š” ์ฟผ๋ฆฌ(์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ, ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง)์„ ํ†ตํ•ด ์ „๋‹ฌํ•œ๋‹ค.

๋ฉ”์„ธ์ง€ ๋ฐ”๋””๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

(1) ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ - ํด๋ผ์ด์–ธํŠธ๊ฐ€ 100๋ฒˆ ์œ ์ €๋ฅผ ์š”์ฒญํ•œ๋‹ค.

(2) ์„œ๋ฒ„๋„์ฐฉ - ์„œ๋ฒ„์— GET ๋ฉ”์‹œ์ง€ ๋„์ฐฉ

(3) ์‘๋‹ต๋ฐ์ดํ„ฐ - ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ธ๋‹ค.

ex) HTTP/version 200 OK Content-Type: ํƒ€์ž…๋ช…, Content-Length: ๊ธธ์ด

 


2. POST

ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ ๋ณด๋‚ผ๋•Œ, ์ •๋ณด๋ฅผ ์ค€๋‹ค. ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

์„œ๋ฒ„์—์„œ๋Š” ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

(1) ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ - POST ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„ ๋ณด๋‚ธ๋‹ค.

๋ฏธ๋ฆฌ ์•ฝ์†์„ ํ•ด๋†“๋Š”๋‹ค.

ex) ์„œ๋ฒ„์ž…์žฅ์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ /members๋กœ ์š”์ฒญ์ด ์˜ค๋ฉด ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ์‹ ๊ทœ๋“ฑ๋กํ•˜๊ธฐ๋กœ ์•ฝ์†ํ•œ๋‹ค.

(2) ์‹ ๊ทœ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ - ์„œ๋ฒ„๋Š” POST๋กœ ์‹ ๊ทœ ๋“ฑ๋กํ•˜๋Š” ์š”์ฒญ์ด๋ž€ ๊ฑธ ์•Œ๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค.

ex) 100๋ฒˆ์ด๋ผ๋Š” ์‹ ๊ทœ ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž๊ฐ€ ์ƒ์„ฑ๋จ.

(3) ์‘๋‹ต ๋ฐ์ดํ„ฐ - ์‹ ๊ทœ ์ž์› ์ƒ์„ฑ์€ 200,201๋กœ ์‘๋‹ตํ•˜๊ณ , ์ž์›์ด ์ƒ์„ฑ๋œ ๊ฒฝ๋กœ์™€ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

201์˜ ๊ฒฝ์šฐ Location: /members/100์œผ๋กœ ์œ„์น˜๋„ ์•Œ๋ ค์ค€๋‹ค.

POST๋Š” ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ?

POST๋Š” ์š”์ฒญ์— ๋“ค์–ด์žˆ๋Š” ํ‘œํ˜„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์š”์ฒญ ๋ฉ”์†Œ๋“œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์— ์ด์šฉ๋œ๋‹ค.

 

  • HTML ์–‘์‹์— ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค์— ์ œ๊ณตํ•œ๋‹ค.

ex)HTML ํผ์— ์ž…๋ ฅํ•œ ์ •๋ณด๋กœ ํšŒ์› ๊ฐ€์ž…, ์ฃผ๋ฌธ

 

  • ๊ฒŒ์‹œํŒ, ๋‰ด์Šค, ๋ธ”๋กœ๊ทธ ๊ทธ๋ฃน์— ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒŒ์‹œํ•œ๋‹ค.

ex) ๊ฒŒ์‹œํŒ ๊ธ€์“ฐ๊ธฐ, ๋Œ“๊ธ€์“ฐ๊ธฐ

 

  • ์ƒˆ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ

ex) ์‹ ๊ทœ ์ฃผ๋ฌธ ์ƒ์„ฑ

 

  • ๊ธฐ์กด ์ž์›์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€

ex) ๋ฌธ์„œ ๋์— ๋‚ด์šฉ ์ถ”๊ฐ€

 

๋ฆฌ์†Œ์Šค URI์— POST์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์ •ํ•ด์ง„๊ฒƒ์ด ์—†๊ธฐ์— ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ๋ฆฌ์†Œ์Šค๋งˆ๋‹ค ์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

์ •๋ฆฌํ•ด๋ณด๋ฉด,

1)์„œ๋ฒ„๊ฐ€ ์•„์ง ์‹๋ณ„ํ•˜์ง€ ์•Š์€ ์ƒˆ ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑ, ๋“ฑ๋กํ•˜๊ณ ,

2)์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

  • ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ,๋ณ€๊ฒฝ์ด ์•„๋‹Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”๊ฒฝ์šฐ

ex) ์ฃผ๋ฌธ → ๊ฒฐ์ œ ์™„๋ฃŒ → ๋ฐฐ๋‹ฌ ์‹œ์ž‘ → ๋ฐฐ๋‹ฌ ์™„๋ฃŒ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ

 

  • ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

ex)POST /orders/{orderId}/start-delivery

 

์œ„์—์„œ ๋ฆฌ์†Œ์Šค ๋‹จ์œ„๋กœ ํ•ด์„œ ๋งŒ๋“ค์ž๊ณ  ํ–ˆ๋Š”๋ฐ, ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ๋ผ๋„ ํ•ด์•ผํ•œ๋‹ค.

  • ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์• ๋งคํ•œ ๊ฒฝ์šฐ

์• ๋งคํ•œ๊ฒฝ์šฐ POST๋ฅผ ์“ฐ๋ฉด ๋œ๋‹ค. ๋‹จ, ์กฐํšŒ์˜ ๊ฒฝ์šฐ GET์„ ์‚ฌ์šฉํ•˜๋ฉด ์บ์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ์— GET์„ ์“ฐ๋Š” ์ถ”์„ธ์ด๋‹ค.

 


3. PUT = ๋ฎ์–ด์“ฐ๊ธฐ

  • ๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์ฒดํ•œ๋‹ค. ์™„.์ „.ํžˆ

/members์— 100๋ฒˆ์ด๋ผ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด? ๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์ฒดํ•œ๋‹ค.

/members์— 100๋ฒˆ์ด๋ผ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†๋‹ค๋ฉด? ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.

์• ๋งคํ•˜๋ฉด POST ์“ฐ๋ผ๋ฉฐ, ๊ทธ๋Ÿผ PUT๋„ ํ•„์š”์—†๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€?

PUT์˜ ๊ฒฝ์šฐ POST์™€ ๋‹ฌ๋ฆฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ์†Œ์Šค ์œ„์น˜๋ฅผ ์•Œ๊ณ  URI๋ฅผ ์ง€์ •ํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ /mebers/100๋ฒˆ์— ๋„ฃ๋Š”๊ฒƒ

์š”๊ฒŒ POST์˜€๋‹ค. /members ์—๋‹ค๊ฐ€ ๋„ฃ์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ 100๋ฒˆ์— ๋งŒ๋“ค์–ด์งˆ์ง€, 101๋ฒˆ์— ๋งŒ๋“ค์–ด์งˆ์ง€ ๋ชจ๋ฅธ๋‹ค.

 

(1) 100๋ฒˆ ์œ ์ €์—๊ฒŒ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด๋‚ด๊ฒŸ๋‹ค๊ณ  ์š”์ฒญ๋ณด๋‚ธ๋‹ค.

(2-1) ์ด๋•Œ, ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์™„์ „ํžˆ ๋Œ€์ฒด๋œ๋‹ค.

(2-2) ์ด๋•Œ, ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด ์‹ ๊ทœ๋กœ ์ƒ์„ฑํ•œ๋‹ค.

(3-1) ๋งŒ์•ฝ ๋ถ€๋ถ„ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค๋ฉด

(3-2) ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋กœ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ์™„์ „ํžˆ ๋Œ€์ฒดํ•œ๋‹ค.

๊ทธ๋ ‡๊ธฐ์— PUT์€ ์ˆ˜์ • ๋ณด๋‹ค๋Š” ๊ฐˆ์•„๋ผ์šด๋‹ค. ๋ผ๋Š” ํ‘œํ˜„์ด ๋” ์ ์ ˆํ•˜๋‹ค.

๋‚œ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€๋ฐ?

 


4. PATCH

(1-1) ๋ฆฌ์†Œ์Šค ๋ถ€๋ถ„ ๋ณ€๊ฒฝ

(1-2) ๋ถ€๋ถ„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋„, ๊ทธ ๋ฐ์ดํ„ฐ๋งŒ ๋ณ€๊ฒฝ๋œ๋‹ค.

 


5. DELETE

๋ฆฌ์†Œ์Šค ์ œ๊ฑฐ - ๋‚˜ 100๋ฒˆ ์ง€์šธ๋ž˜

๊ฒฐ๋ก ์€? POST๋Š” ๋ฌด์ ์ด๋‹ค.

 


HTTP ๋ฉ”์„œ๋“œ์˜ ์†์„ฑ

 

1. ์•ˆ์ „ - ํ˜ธ์ถœํ•ด๋„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ์„ฑ์งˆ

๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋ฉด ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ฒƒ

 

GET์€ ๋‹จ์ˆœ ์กฐํšŒ๋งŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•˜๋‹ค. POST, DELETE, PATCH, PUT์€ ๋‹น์—ฐํžˆ ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค.

GET์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ํ•ด๋„ ๊ณ„์† ํ˜ธ์ถœํ•ด์„œ ์ˆ˜ ๋งŽ์€ ๋กœ๊ทธ๋ฅผ ์Œ“๋‹ค๊ฐ€ ์„œ๋ฒ„๊ฐ€ ํ„ฐ์ ธ๋ฒ„๋ฆฐ๋‹ค๋ฉด?

→ ์•ˆ์ „์€ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ณ€ํ•˜๋Š”์ง€๋งŒ ๊ณ ๋ คํ•œ๋‹ค. ๊ทธ ๋ถ€๋ถ„๊นŒ์ง€ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

2. ๋ฉฑ๋“ฑ - ํ•œ ๋ฒˆ ํ˜ธ์ถœํ•˜๋“ , ๋‘ ๋ฒˆ ํ˜ธ์ถœํ•˜๋“ , 100๋ฒˆ ํ˜ธ์ถœํ•˜๋“  ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•œ ๊ฒƒ

  • GET: ํ•œ๋ฒˆํ˜ธ์ถœํ•˜๋“ ~ ๊ฒฐ๊ณผ๊ฐ€ ๋˜‘๊ฐ™๋‹ค.
  • PUT: ๋˜‘๊ฐ™์€ ํŒŒ์ผ์— ๋˜‘๊ฐ™์€ ์š”์ฒญ์„ ํ•˜๋ฉด ๊ธฐ์กด ๊ฒƒ์„ ๋‚ ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฎ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๊ฐ™๋‹ค.
  • DELETE: ์‚ญ์ œํ•˜๋ฉด ์ง€์›Œ์ง. ๊ฐ™์€ ์š”์ฒญ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ํ•ด๋„ ์ตœ์ • ๊ฒฐ๊ณผ๋Š” ๊ฐ™๋‹ค.
  • POST: ๋ฉฑ๋“ฑ ์•„๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๊ฒฐ์ œ์‹œ์Šคํ…œ์„ ๋‘๋ฒˆ ํ˜ธ์ถœํ•˜๋ฉด ์ค‘๋ณต ๊ฒฐ์ œ์ด๋‹ค.

 

๋ฉฑ๋“ฑ ํ™œ์šฉ

  • ์ž๋™ ๋ณต๊ตฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜

ex) DELETE ํ˜ธ์ถœํ–ˆ๋Š”๋ฐ ์„œ๋ฒ„์—์„œ ์‘๋‹ต์ด ์—†์–ด์„œ, ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์žฌ์‹œ๋„ ํ•œ๋‹ค. ์™œ ? ๋ฉฑ๋“ฑํ•˜๋‹ˆ๊นŒ

 

  • ์„œ๋ฒ„๊ฐ€ TIMEOUT ๋“ฑ์œผ๋กœ ์ •์ƒ ์‘๋‹ต์„ ์ฃผ์ง€ ๋ชปํ–ˆ์„ ๋•Œ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ™์€ ์š”์ฒญ์„ ํ•ด๋„ ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ ๊ทผ๊ฑฐ๊ฐ€ ๋œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์žฌ์š”์ฒญ ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด๋ฒ„๋ฆฌ๋ฉด? ์ด๋Ÿฌ๋ฉด ๋ฉฑ๋“ฑ์ด ์•„๋‹Œ๊ฒƒ ์•„๋‹Œ๊ฐ€?

 

  • ์‚ฌ์šฉ์ž 1: GET username: A, age: 20
  • ์‚ฌ์šฉ์ž 2: PUT username: A, age: 30
  • ์‚ฌ์šฉ์ž 1: GET username: A, age:30

 

๋ฐ”๋€๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ฒŒ ๋œ๋‹ค.

๋ฉฑ๋“ฑ์€ ์™ธ๋ถ€ ์š”์ธ์œผ๋กœ ์ค‘๊ฐ„์— ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ ๊นŒ์ง€๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

3. ์บ์‹œ๊ฐ€๋Šฅ - ์‘๋‹ต ๊ฒฐ๊ณผ๋กœ ์˜จ ๋ฆฌ์†Œ์Šค๋ฅผ ์บ์‹œ์— ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ•ด๋„ ๋˜๋‚˜?

์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์›๋ณธ ๋ฆฌ์†Œ์Šค์™€ ํ‚ค๊ฐ€ ๋งž์•„์•ผํ•จ. POST์™€ PATCH๋Š” ๋ณธ๋ฌธ ๋‚ด์šฉ๊นŒ์ง€ ๊ณ ๋ คํ•˜๊ธฐ๊ฐ€ ๋ณต์žกํ•˜์ง€๋งŒ,

GET์€ url๋งŒ ํ‚ค๋กœ ์žก๊ณ  ์บ์‹ฑํ•˜๋ฉด ๋˜๊ธฐ์— ์‹ฌํ”Œํ•˜๋‹ค.

์‹ค๋ฌด์—์„œ๋Š” GET๋งŒ ์บ์‹œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.