Skip to content

API 설계

Cooper edited this page Apr 9, 2021 · 4 revisions

API 설계

1) 필요한 API에 대한 URL 설계

To-Do-List CRUD API

  • 각각의 Todo의 상태에 대해 어떻게 수정할 것인지?
  • 상태 변화를 API 호출 방식으로 어떻게 처리할 것인지?

2) Response 설계

  • 카드 전체 조회(GET, /todos)

    → 정상(상태코드, 200 OK)

    {
        "status" : "success",
        "data" : {
            "todos" : [
                { "id" : 1 },
                { "id" : 2 },
                { "id" : 3 },
    				]
    		}
    }
    {
        "status" : "error",
        "message" : "Data Not Found",
    }
  • 특정 카드 조회(GET, /todos/{id})

    → 정상(상태코드, 200 OK)

    {
        "status" : "success",
        "data" : {
            "todo": { "id" : 1 }
    		}
    }
  • 카드 추가(POST, /todos)

    → 정상(상태코드, 201 Created)

    {
        "status" : "success",
        "data" : {
            "todo": { "id" : 4 }
    		}
    }
    {
        "status" : "fail",
        "message" : "Invalid ",
        "data" : {
            "todo": { "title" : "A title is required" }
    		}
    }
  • 카드 수정(PUT, /todos/{id})

    → 정상(상태코드, 200 OK)

    {
        "status" : "success",
        "data" : {
            "todo": { "id" : 4 }
    		}
    }
  • 카드 삭제(DELETE, /todos/{id})

    → 정상(상태코드, 204 No Content)

    {
        "status" : "success",
        "data" : {}
    }

출처

Clone this wiki locally