인프런 커뮤니티 질문&답변

박은정님의 프로필 이미지
박은정

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP API 설계 예시

HTTP API 설계 질문

작성

·

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번의 경우 둘다 들어가는 것 보다는 하나의 유니크한 값을 사용하는 것을 더 권장합니다.

감사합니다.

박은정님의 프로필 이미지
박은정
질문자

답변 감사합니다.

박은정님의 프로필 이미지
박은정

작성한 질문수

질문하기