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

heehee님의 프로필 이미지
heehee

작성한 질문수

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

HTTP API 설계 예시

조회, 수정, 삭제를 실무에서 어떤식으로 구현하는지 궁금합니다!

작성

·

636

0

안녕하세요! http 강의를 수강하고 회원 본인이 회원 정보를 조회, 수정, 삭제할 수 있도록 구현 중인데 궁금증이 생겨서 질문 드리게 되었습니다.

스프링 입문 강의의 메모리 기반 레포지토리를 따라했는데 멤버의 경우 Long 타입을 가진 id가 존재하고 이는 레포지토리에 저장될 때 1씩 증가하여 저장하도록 되어있습니다.

인증의 경우 jwt를 사용하고 있구요.

그리고 회원 정보 조회, 수정, 삭제를 구현할 때 이러한 id 값을 url에 넣어주고 메소드(GET, PATCH, DELETE)만 바꾸어가며 구현을 하는 것으로 알고 있습니다.

그런데 이러한 id 값을 어떤 식으로 가져와야 할지 감이 잘 잡히지 않네요.

제가 생각하는 방식이 두 가지가 있습니다.

  1. 로그인에 성공했을 때 id 값을 같이 보내주어 이를 클라이언트가 보관해두었다가 조회, 수정, 삭제할 때 이 값을 url에 같이 넣어준다.

    ex) /member/{id}

  2. jwt에 id 값을 담아서 반환해주고 클라이언트는 이 jwt를 갖고 있다가 조회, 수정, 삭제 요청 url에 id 정보를 넣지 않고 jwt를 헤더에 담아서 보내준다.

    ex)/member

    id 값을 url에 넣지 않고 서버에서는 jwt 안에 있는 id 값을 사용

제 임의대로 생각한 방식이라 이 방식이 맞는지는 잘 모르겠습니다... ㅠㅠ

실무에서는 이러한 id 값을 어떤 식으로 주고 받는 걸까요?

알려주시면 감사하겠습니다! ㅠㅠ

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. heehee님

인증과 관련된 부분은 HTTP 헤더를 사용하는 것이 유용합니다.

그래서 JWT에 포함하는 것이 좋다 생각합니다.

감사합니다.

heehee님의 프로필 이미지
heehee

작성한 질문수

질문하기