μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- μ»΄ν¨ν°κ³Όν
- νλ‘κ·Έλλ°
- css
- μλ°
- κ°λ°
- λ μ
- μλ°μ€ν¬λ¦½νΈ
- κΉνλ¨
- html
- λΌνλΌμ€μλ§λ
- μ₯νΈμμ€
- database
- μ½λ©
- νμ΄μ¬
- Python
- ComputerScience
- μ€λΌν΄
- λ°μ΄ν°λ² μ΄μ€
- κΉλ―Έκ²½
- Kλ°°ν°λ¦¬λ 볼루μ
- JavaScript
- μΉνμ΄μ§λ§λ€κΈ°
- Kλ°°ν°λ¦¬
- μΉνΌλΈλ¦¬μ±
- μ±
- μν
- Java
- λ§μΌλ΄κ°μΈμμλ€μμ°λ€λ©΄
- κΉλ―Έκ²½μλ§νμμ
- λ°μν
- Today
- Total
JiYoung Dev π₯
REST API κ·μΉ λ³Έλ¬Έ
REST API(Representational State Transfer API)
ꡬμ±
1. μμ(RESOURCE) - URI
2. νμ(Verb) - HTTP METHOD
3. νν(Representations)
REST API λμμΈ κ°μ΄λ
REST API μ€κ³μ κ°μ₯ μ€μν νλͺ© 2κ°μ§ : URI, HTTP Method
1. URIλ μ 보μ μμμ ννν΄μΌ νλ€.
- 리μμ€λͺ μ λμ¬λ³΄λ€λ λͺ μ¬λ₯Ό μ¬μ©
- μ’μ§ μμ μ : GET /members/delete/1
--> deleteμ κ°μ νμμ λν ννμ΄ λ€μ΄κ°μλ μλ¨
- μ’μ μ : DELETE /members/1
2. μμμ λν νμλ HTTP Method(GET, POST, PUT, DELETE λ±)λ‘ νν
- GET /members/delete/1 (X) ------> DELETE /members/1
- μ: νμμ 보λ₯Ό κ°μ Έμ€λ URI
GOOD - GET /members/1
BAD - GET /members/show/1
- μ : νμμ 보λ₯Ό μΆκ°νλ URI
GOOD - POST /members/2
BAD - GET /members/insert/2
[μ°Έκ³ ] HTTP METHODμ μλ§μ μν
1. POST : POSTλ₯Ό ν΅ν΄ ν΄λΉ URIλ₯Ό μμ²νλ©΄ 리μμ€λ₯Ό μμ±ν¨
2. GET : GETλ₯Ό ν΅ν΄ ν΄λΉ 리μμ€λ₯Ό μ‘°ν. ν΄λΉ λνλ¨ΌνΈμ λν μμΈ μ 보 κ°μ Έμ€κΈ°
3. PUT : PUTλ₯Ό ν΅ν΄ ν΄λΉ 리μμ€λ₯Ό μμ ν¨
4. DELETE : DELETEλ₯Ό ν΅ν΄ 리μμ€λ₯Ό μμ ν¨
[URI μ€κ³ μ μ£Όμν μ ]
1. μ¬λμ ꡬλΆμ(/)λ κ³μΈ΅ κ΄κ³λ₯Ό λνλ΄λ λ° μ¬μ©
- μ : houses/apartmemts, animals/mamals
2. URI λ§μ§λ§ λ¬Έμλ‘ μ¬λμ(/) ν¬ν¨νμ§ μμ
3. νμ΄ν(-)μ URI κ°λ μ±μ λμ΄λλ° μ¬μ©
- URIλ₯Ό μ½κ² μ½κ³ ν΄μνκΈ° μν΄, λΆκ°νΌνκ² κΈ΄ URI κ²½λ‘λ₯Ό μ¬μ©νκ² λλ€λ©΄ νμ΄νμ μ¬μ©ν΄ κ°λ μ±μ λμΌ μ μμ
4. λ°μ€(_)μ URIμ μ¬μ©νμ§ μμ
- λ°μ€μ 보기 μ΄λ €μΈ μ μμΌλ―λ‘ '_' λμ '-' μ¬μ©
5. URI κ²½λ‘μλ μλ¬Έμκ° μ ν©ν¨
- λλ¬Έμ μ¬μ©μ λλλ‘ νΌνκΈ°. λμλ¬Έμμ λ°λΌ λ€λ₯Έ 리μμ€λ‘ μΈμνκ² λκΈ° λλ¬Έ
6. νμΌ νμ₯μλ URIμ ν¬ν¨νμ§ μμ
[리μμ€ κ°μ κ΄κ³λ₯Ό νννλ λ°©λ²]
1. /리μμ€λͺ /리μμ€ ID/κ΄κ³κ° μλ λ€λ₯Έ 리μμ€λͺ
- μ : GET /users/{userid}/devices ---> μΌλ°μ μΌλ‘ μμ 'has'μ κ΄κ³λ₯Ό ννν λ
2. λ§μ½ κ΄κ³λͺ μ΄ λ³΅μ‘νλ€λ©΄ μ΄λ₯Ό μλΈ λ¦¬μμ€μ λͺ μμ μΌλ‘ νν
- μ : μ¬μ©μκ° 'μ’μνλ' λλ°μ΄μ€ λͺ©λ‘ νν
GET /users/{userid}/likes/devices (κ΄κ³λͺ μ΄ μ 맀νκ±°λ ꡬ체μ ννμ΄ νμν λ)
[HTTP μλ΅ μν μ½λ]
1-1. 200 : ν΄λΌμ΄μΈνΈμ μμ²μ μ μμ μΌλ‘ μνν¨
1-2. 201 : ν΄λΌμ΄μΈνΈκ° μ΄λ ν 리μμ€λ₯Ό μμ², ν΄λΉ 리μμ€κ° μ±κ³΅μ μΌλ‘ μμ±λ¨(POST μμ μ)
2-1. 400 : ν΄λΌμ΄μΈνΈμ μμ²μ΄ λΆμ μ ν κ²½μ°
2-2. 401 : ν΄λΌμ΄μΈνΈκ° μΈμ¦λμ§ μμ μνμμ 보νΈλ 리μμ€λ₯Ό μμ²νμ λ μ¬μ©νλ μλ΅ μ½λ
(λ‘κ·ΈμΈ νμ§ μμ μ μ κ° λ‘κ·ΈμΈ νμ λ, μμ² κ°λ₯ν 리μμ€λ₯Ό μμ²νμ λ)
2-3. 403 : μ μ μΈμ¦μνμ κ΄κ³μμ΄ μλ΅νκ³ μΆμ§ μμ 리μμ€λ₯Ό ν΄λΌμ΄μΈνΈκ° μμ²νμ λ μ¬μ©νλ μλ΅ μ½λ
2-4. 405 : ν΄λΌμ΄μΈνΈκ° μμ²ν 리μμ€μμλ μ¬μ© λΆκ°λ₯ν Methodλ₯Ό μ΄μ©νμ κ²½μ° μ¬μ©νλ μλ΅ μ½λ
3-1. 301 : ν΄λΌμ΄μΈνΈκ° μμ²ν 리μμ€μ λν URIκ° λ³κ²½λμμ λ μ¬μ©νλ μλ΅μ½λ
3-2. 500 : μλ²μ λ¬Έμ κ° μμ μ μ¬μ©νλ μλ΅ μ½λ
μΆμ²
'Question' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Spring Boot μΉμμΌ] @ServerEndPointκ° μλ 컨νΈλ‘€λ¬μμ μμ‘΄μ± μ£Όμ μλ¬ (0) | 2023.09.02 |
---|---|
[JAVA] Listμμ λ°°μ΄(Array)λ‘ λ³ννκΈ° (0) | 2023.08.24 |
[JAVA] List μ λ ¬ - sort() (0) | 2023.08.24 |
[Spring boot] 첨λΆνμΌ κΈ°λ₯ μΆκ° (0) | 2023.08.22 |
[python] μμμ μλ¦Ώμ μ§μ (round) (0) | 2023.08.22 |