View

HTTP Method (GET, POST, DELETE, PUT)

μ±…μ½λŠ” 감자 2022. 9. 19. 07:35
λ°˜μ‘ν˜•

좜처 및 μžμ„Έν•œ λ‚΄μš©: https://velog.io/@yh20studio/CS-Http-Method-%EB%9E%80-GET-POST-PUT-DELETE

 

1. GET

GET λ©”μ†Œλ“œλŠ” 주둜 데이터λ₯Ό μ½κ±°λ‚˜(Read) 검색(Retrieve)ν•  λ•Œμ— μ‚¬μš©λ˜λŠ” λ©”μ†Œλ“œμ΄λ‹€.

 μ—λŸ¬κ°€ λ°œμƒν•˜λ©΄ μ£Όλ‘œ 404 (Not found) μ—λŸ¬λ‚˜ 400 (Bad request) μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

  • HTTP λͺ…세에 μ˜ν•˜λ©΄ GET μš”μ²­μ€ μ˜€λ‘œμ§€ 데이터λ₯Ό 읽을 λ•Œλ§Œ μ‚¬μš©λ˜κ³  μˆ˜μ •ν•  λ•ŒλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • GET μš”μ²­μ€ idempotent ν•˜λ‹€.
  • 같은 μš”μ²­μ„ μ—¬λŸ¬ 번 ν•˜λ”λΌλ„ 변함없이 항상 같은 응닡을 받을 수 μžˆλ‹€.
  • 데이터λ₯Ό λ³€κ²½ν•˜λŠ” 연산에 μ‚¬μš©ν•˜λ©΄ μ•ˆλœλ‹€.
GET /user/1

 

2. POST

POST λ©”μ†Œλ“œλŠ” 주둜 μƒˆλ‘œμš΄ λ¦¬μ†ŒμŠ€λ₯Ό 생성(create)ν•  λ•Œ μ‚¬μš©λœλ‹€. 쑰금 더 ꡬ체적으둜 POSTλŠ” ν•˜μœ„ λ¦¬μ†ŒμŠ€(λΆ€λͺ¨ λ¦¬μ†ŒμŠ€μ˜ ν•˜μœ„ λ¦¬μ†ŒμŠ€)듀을 μƒμ„±ν•˜λŠ”λ° μ‚¬μš©λœλ‹€. μ„±κ³΅μ μœΌλ‘œ creation을 μ™„λ£Œν•˜λ©΄ 201 (Created) HTTP 응닡을 λ°˜ν™˜ν•œλ‹€.

  • POST μš”μ²­μ€ idempotent ν•˜μ§€ μ•Šλ‹€.
  • 같은 POST μš”μ²­μ„ λ°˜λ³΅ν•΄μ„œ ν–ˆμ„ λ•Œ 항상 같은 결과물이 λ‚˜μ˜€λŠ” 것을 보μž₯ν•˜μ§€ μ•ŠλŠ”λ‹€
  • 두 개의 같은 POST μš”μ²­μ„ 보내면 같은 정보λ₯Ό 담은 두 개의 λ‹€λ₯Έ resourceλ₯Ό λ°˜ν™˜ν•  κ°€λŠ₯성이 λ†’λ‹€.
POST /user
body : {date : "example"}
Content-Type : "application/json"

 

3. PUT

PUTλŠ” λ¦¬μ†ŒμŠ€λ₯Ό 생성 / μ—…λ°μ΄νŠΈν•˜κΈ° μœ„ν•΄ μ„œλ²„λ‘œ 데이터λ₯Ό λ³΄λ‚΄λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

  • PUT μš”μ²­μ€ idempotent ν•©λ‹ˆλ‹€.
  • λ™μΌν•œ PUT μš”μ²­μ„ μ—¬λŸ¬ 번 ν˜ΈμΆœν•˜λ©΄ 항상 λ™μΌν•œ κ²°κ³Όκ°€ μƒμ„±λ©λ‹ˆλ‹€.
PUT /user/1
body : {date : "update example"}
Content-Type : "application/json"

 

4. DELETE

DELETE λ©”μ„œλ“œλŠ” μ§€μ •λœ λ¦¬μ†ŒμŠ€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.

DELETE /user/1
λ°˜μ‘ν˜•
Share Link
reply
λ°˜μ‘ν˜•
Β«   2024/12   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31