inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

HTTP API 설계 예시

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

725

heehee

작성한 질문수 8

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 값을 어떤 식으로 주고 받는 걸까요?

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

네트워크 network

답변 1

0

김영한

안녕하세요. heehee님

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

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

감사합니다.

캐시무효화시 그냥 no-store만 넣어되지 않나요?

0

68

2

API의 헤더와 바디에 대한 문의 입니다.

0

70

2

수정폼과 수정

0

66

1

쿠키에 대해 질문드려요!

0

88

2

서버에서 캐시 검증 헤더를 직접 처리해야 하나요?

0

86

1

http api get, post 멱등

0

40

1

컬렉션의 개념

0

47

1

시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?

0

51

1

PATCH 는 PUT처럼 멱등이여야 하지 않나요?

0

80

1

리소스 질문드립니다

0

55

1

IP 패킷 질문입니다.

0

58

1

html from, http api

0

74

2

브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요

0

120

1

stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.

0

98

1

URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?

0

139

1

host와 port

0

106

1

tcp/ip는 연결을 유지? 아니면 유지하지 않음?

0

144

1

다음 강의 커리큘럼 질문!!

0

129

2

캐시 개념에 대해서 설명하시지는 않으시는건가요?

0

113

1

클라이언트가 patch, delete 요청 시 알아야 하는 url

0

90

1

html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유

0

168

2

비 연결성(connectionless) 강의에서 질문입니다~

0

139

1

PATCH를 사용하지 못할 때 왜 POST?

0

161

2

협상과 우선순위3 질문드립니다.

1

129

1