Skip to content

api_response_code

choisungwook edited this page Nov 28, 2021 · 3 revisions

๊ฐœ์š”

  • API Http ์‘๋‹ต ์ฝ”๋“œ

์ •๋ณด์กฐํšŒ์šฉ API ์‘๋‹ต

  • ํšŒ์› ์กฐํšŒ ๋“ฑ ๋ฐ์ดํ„ฐ ์กฐํšŒ ์‘๋‹ต์€ 200(Ok)
  • ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด 404(Not found)
  • ์‹คํŒจํ•œ๋‹ค๋ฉด 500(Internal Server error)
HTTP/1.1 200 OK
{
    "name": "testuser"
}

๋ฐ์ดํ„ฐ ์ƒ์„ฑ ์‘๋‹ต

  • ํšŒ์› ๋“ฑ๋ก ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ์ด ์„ฑ๊ณตํ•œ 201(Created)
    • ์—ฌ์œ ๊ฐ€ ๋œ๋‹ค๋ฉด ์‘๋‹ต ํ—ค๋” Locationํ•„๋“œ์— ์กฐํšŒํ• ์ˆ˜ ์žˆ๋Š” API์ฃผ์†Œ ์ถ”๊ฐ€
      • location: /users/1
  • ์‹คํŒจํ•œ๋‹ค๋ฉด 500(Internal Server error)
HTTP/1.1 201 Created
{
    "id": 1,
    "name": "testuser"
}

๋ฐ์ดํ„ฐ ์ˆ˜์ • ์‘๋‹ต

  • ํšŒ์› ์ˆ˜์ • ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •์ด ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ 200(Ok)
  • ์ˆ˜์ •ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด 404(Not found)
  • ์‹คํŒจํ•œ๋‹ค๋ฉด 500(Internal Server error)
HTTP/1.1 200 OK
{
    "name": "testuser"
}

๋ฐ์ดํ„ฐ ์‚ญ์ œ ์‘๋‹ต

  • ํšŒ์› ์‚ญ์ œ ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ญ์ œ๊ฐ€ ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ 204(No Content)
    • ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์˜ํ•˜์—ฌ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Œ
  • ์ˆ˜์ •ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด 404(Not found)
  • ์‹คํŒจํ•œ๋‹ค๋ฉด 500(Internal Server error)
HTTP/1.1 204 No Content
{
}

ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

  • request body์— ํ•„๋“œ๋ฅผ ๋นผ๋จน๊ฑฐ๋‚˜ ํ•„๋“œ ์ž๋ฃŒํ˜•์ด ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ 400(Bad Request)
  • response body์— ์—๋Ÿฌ ๋‚ด์šฉ ์ „๋‹ฌ
HTTP/1.1 400 Bad Request
{
    "error_messages": [
        "name ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค"
    ]
}

๊ถŒํ•œ ์˜ค๋ฅ˜

  • api๋ฅผ ์‹คํ–‰ํ•  ๊ถŒํ•œ์ด ์—†์œผ๋ฉด 403(Forbidden)

์ฐธ๊ณ ์ž๋ฃŒ