API_Product - Laterality/yummy-dishes-REST GitHub Wiki
Index
μ ν μ 보λ₯Ό λ±λ‘νλ APIμ λλ€.
-
URL
/product/register
-
Method:
POST
-
URL Params
none
-
Data Params
Body
- name
- string
- μ νλͺ
- price
- integer
- μ ν κ°κ²©
- amount
- string
- μ ν λΆλ
- ingredient
- string
- μ ν μ¬λ£
- contents
- Array<string>
- λ³Έλ¬Έ λ΄μ©
- category
- string
- μΉ΄ν κ³ λ¦¬μ "_id" νλ
- image_ids
- Array<string>
- μ λ‘λλ μ΄λ―Έμ§μ "_id" νλκ° λ°°μ΄
-
Success Response:
-
Code: 201
Content:{ "result": "ok", "product": { ... } }
- result
- string
- μμ²μ λν μ²λ¦¬ κ²°κ³Ό["ok", "fail", "error"]
- message
- string
- μ²λ¦¬ κ²°κ³Όμ λν μΆκ° λ©μμ§
- product
- ProductModel
- μμ²μ΄ μ±κ³΅ν κ²½μ° μμ±λ μ ν μ 보
-
-
Error Response:
-
Code: 405 INVALID PARAMETERS
Content:{ "result": "fail", "message": "invalid parameters" }
OR
-
Code: 500 SERVER FAULT
Content:{ "result": "error", "message": "server fault" }
-
Code: 405 INVALID PARAMETERS
-
Sample Call:
{ "name": "Product1", "price": 3000, "amount": "2μΈλΆ (600g)", "ingredient": "ing1, ing2, ...", "contents": [ "content1...", "content2...", ... ] "category": "5993cce589d47e657b885ba3", "image_ids": [ "5993cce589d47e657b885ba3", ... ] }
-
Notes:
- APIμμΌλ‘λ μ΄λ―Έμ§ νμΌ μ λ‘λ κ°μμ μ νμ΄ μμ΅λλ€. νμν κ²½μ° νλ‘ νΈμλμμ μ μ΄ν΄μ£ΌμΈμ.
μ ν μ 보λ₯Ό μ‘°ννλ APIμ λλ€.
-
URL
/product/{productId}
-
Method:
GET
-
URL Params
Reqired:
- productId
- string
- μ ν "_id" νλ κ°
- q
- string
- μμ²νλ μ 보 (,λ‘ κ΅¬λΆ)
- ["amount", "ingredient", "contents", "category", "date_reg", "cnt_like", "avg_rate", "images"]
-
Data Params
None
-
Success Response:
-
Code: 200
Content:{ "result": "ok", "product": { ... } }
- result
- string
- μμ²μ λν μ²λ¦¬ κ²°κ³Ό["ok", "fail", "error"]
- message
- string
- μ²λ¦¬ κ²°κ³Όμ λν μΆκ° λ©μμ§
- product
- ProductModel
- μμ²μ΄ μ±κ³΅ν κ²½μ° μ ν μ 보
-
-
Error Response:
-
Code: 404 NOT FOUND
Content:{ "result": "fail", "message": "not found" }
OR
-
Code: 500 SERVER FAULT
Content:{ "result": "error", "message": "server fault" }
-
Code: 404 NOT FOUND
-
Sample Call:
# _idνλκ°μ΄ 599297a54a03b51a11aa3d27μΈ μ νμ νκ· νμ κ³Ό μ΄λ―Έμ§λ₯Ό λ°ν GET /product/599297a54a03b51a11aa3d27?q=cnt_like,avg_rate,image
-
Notes:
μ ν μ 보λ₯Ό κ°±μ νλ APIμ λλ€.
-
URL
/product/{productId}/update
-
Method:
PUT
-
URL Params
Reqired:
- productId
- string
- μ ν "_id" νλ κ°
-
Data Params
- name
- string
- μ νλͺ
- price
- integer
- μ ν κ°κ²©
- amount
- string
- μ ν λΆλ
- ingredient
- string
- μ ν μ¬λ£
- contents
- Array<string>
- μ ν μ€λͺ λ³Έλ¬Έ
- category
- string
- μΉ΄ν κ³ λ¦¬μ "_id"νλκ°
- images
- Array<string>
- μ΄λ―Έμ§ "_id"νλκ° λ°°μ΄
-
Success Response:
-
Code: 200
Content:{ "result": "ok" }
- result
- string
- μμ²μ λν μ²λ¦¬ κ²°κ³Ό["ok", "fail", "error"]
- message
- string
- μ²λ¦¬ κ²°κ³Όμ λν μΆκ° λ©μμ§
-
-
Error Response:
-
Code: 404 NOT FOUND
Content:{ "result": "fail", "message": "not found" }
OR
-
Code: 405 INVALID PARAMETERS
Content:
{ "result": "fail", "message": "invalid parameter: productId" }
OR
-
Code: 500 SERVER FAULT
Content:{ "result": "error", "message": "server fault" }
-
Code: 404 NOT FOUND
-
Sample Call:
{ "name": "changedProdName2", "price": 4500 }
-
Notes:
- μ λ ₯κ° μ ν¨μ± κ²μ¬ ν΄μ£ΌμΈμ, κΌ!
- Request Bodyμλ λ³κ²½ν νλͺ©λ§ μμΌλ©΄ λ©λλ€. λ³κ²½μ¬ν μλ νλͺ©μ λΉ λ¬Έμμ΄ νΉμ μ«μ νμ μΈ κ²½μ° 0 λ―Έλ§μ κ°μ λ£μ΄μ£ΌμΈμ
μ ν μ 보λ₯Ό μ κ±°νλ APIμ λλ€.
-
URL
/product/{productId}/delete
-
Method:
DELETE
-
URL Params
Reqired:
- productId
- string
- μ ν "_id" νλ κ°
-
Data Params
None
-
Success Response:
-
Code: 200
Content:{ "result": "ok" }
- result
- string
- μμ²μ λν μ²λ¦¬ κ²°κ³Ό["ok", "fail", "error"]
- message
- string
- μ²λ¦¬ κ²°κ³Όμ λν μΆκ° λ©μμ§
-
-
Error Response:
-
Code: 404 NOT FOUND
Content:{ "result": "fail", "message": "not found" }
-
Code: 500 SERVER FAULT
Content:{ "result": "error", "message": "server fault" }
-
-
Sample Call:
DELETE /product/599297a54a03b51a11aa3d27/delete
-
Notes:
μ νλͺ κ³Ό μ¬λ£μ λν΄ νΉμ ν€μλλ‘ κ²μνλ APIμ λλ€.
-
URL
/product/search
-
Method:
GET
-
URL Params
Optional:
- keyword
- string
- κ²μν ν€μλ
- sort
- string
- μ λ ¬ κΈ°μ€, ["name", "cnt_like", "avg_rate"] (κΈ°λ³Έκ°μ name)
- category
- string
- κ²μν μΉ΄ν κ³ λ¦¬μ "_id"νλ κ°
- q
- string
- μμ²νλ μ 보 (,λ‘ κ΅¬λΆ)
- ["amount", "ingredient", "contents", "category", "date_reg", "cnt_like", "avg_rate", "images"]
-
Data Params
None
-
Success Response:
-
Code: 200
Content:{ "result": "ok", "products": [ { ... }, ... ] }
- result
- string
- μμ²μ λν μ²λ¦¬ κ²°κ³Ό["ok", "fail", "error"]
- message
- string
- μ²λ¦¬ κ²°κ³Όμ λν μΆκ° λ©μμ§
- products
- Array<ProductModel>
- μμ²μ΄ μ±κ³΅ν κ²½μ° μ ν μ 보 λ°°μ΄
-
-
Error Response:
-
Code: 500 SERVER FAULT
Content:{ "result": "error", "message": "server fault" }
-
Code: 500 SERVER FAULT
-
Sample Call:
GET /product/search?keyword=λλ¬Ό&q=cnt_like,avg_rate,image
-
Notes:
ν΄λΉ μ νμ λν΄ μμ±λ 리뷰 리μ€νΈλ₯Ό λ°νν©λλ€.
-
URL
/product/{productId}/comments
-
Method:
GET
-
URL Params
Required:
- productId
- string
- μ νμ "_id" νλκ°
Optional:
- q
- string
- λ°νλ°μ νλ
- ["author", "product", "date_reg", "rate", "tastes", "content", "reply"]
-
Data Params
None
-
Success Response:
-
Code: 200
Content:{ "result": "ok", "comments": [ { ... }, { ... }, ... ] }
- result
- string
- μμ²μ λν μ²λ¦¬ κ²°κ³Ό["ok", "fail", "error"]
- message
- string
- μ²λ¦¬ κ²°κ³Όμ λν μΆκ° λ©μμ§
- product
- CommentModel
- μμ²μ΄ μ±κ³΅ν κ²½μ° μ νμ 리뷰 λ°°μ΄
-
-
Error Response:
-
Code: 404 NOT FOUND
Content:{ "result": "fail", "message": "not found" }
OR
-
Code: 500 SERVER FAULT
Content:{ "result": "error", "message": "server fault" }
-
Code: 404 NOT FOUND
-
Sample Call:
# _idνλκ°μ΄ 599297a54a03b51a11aa3d27μΈ μ νμ 리뷰μμ μμ±μμ νμ μ λ°ν GET /product/599297a54a03b51a11aa3d27?q=author,rate
-
Notes:
None