MINGKYME 블로그

API 규격에 대한 고민

Done List

  • None

To Do List

  • None

Memo

오늘 고민 했던 사항에 대해서 메모를 남긴다.

RESTful API 규격을 맞추면 이렇게 설계가 된다.

  • URL 규격

    GET /api/users -> 복수 조회
    GET /api/users/1 -> 단일 조회
    DELETE /api/users/1 -> 삭제
    

    이런식으로 구성이 된다면, user가 사용하기 어렵다.

    GET /api/users?userId=4
    GET /api/users?userName=mingky
    

    이런식으로 만들면 human 레벨에서는 보기도, 이해하기도 쉽다.

    하지만 API 입장에서는 하나의 endpoint지만, 규격이 달라진다. (단일, 복수)

    뭐가 맞는지 아직 찾진 못했다.

  • Admin API 분리에 대한 영역. Admin과 User API를 같은걸 사용해야하는가?

분리를 해야하는가?

에 대해서 고민을 했다.

현재 정답이라고 생각한 것은

POST /admin/users => admin용 API
POST /users => user용 API

해당 API를 이렇게 설정하고, /admin 에 middleware로 admin 확인 Admin에는 Body에 하나의 값을 추가한다. 예를 들면

{
  "ADMIN":"VALUE",
  "userName":"mingky",
  "phone":"01012345678"
}

이렇게 작성하고, admin API일때만, middleware로 ADMIN 값을 처리한다.