작성
·
450
3
안녕하세요. 좋은 강의 감사드립니다.
HTTP API 설계와 관련하여 궁금한 점 질문 드리고자 합니다.
1. /members/{id} 와 같은 API URL에서 {id}에는 특정 회원을 식별할 수 있는 값, 주로 회원 테이블의 PK 값이 들어간다고 생각하면 될까요?
2. 만약 그렇다면 API 설계 시 URL에 PK 값을 노출시키는 것은 보안 상으로 문제가 되지 않는 것인가요?
3. 만약 회원 테이블의 PK가 id, email이라면(즉 특정 회원을 식별하기 위해서 id, email 두 개의 값이 필요하다면) /members/{id}/email/{email} 이런 식으로 설계해야 할까요?
실제 현업에서는 어떤 방식으로 하시는지 궁금해 여쭤봅니다.
감사합니다.
답변 1
1
안녕하세요. 박은정님
API의 리소스 설계와 실제 애플리케이션의 물리적인 설계는 개념상 서로 분리되는 것이 맞습니다.
따라서 {id}를 실제 데이터베이스의 PK를 사용해도 되고, 사용자의 로그인 id를 사용해도 되고, 또는 다른 개념을 넣으셔도 됩니다.
3번의 경우 둘다 들어가는 것 보다는 하나의 유니크한 값을 사용하는 것을 더 권장합니다.
감사합니다.
답변 감사합니다.