강의

멘토링

로드맵

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

관태님의 프로필 이미지
관태

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Token Refresh 기능 정리하기

DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?

해결된 질문

작성

·

54

·

수정됨

0

CRUD 중 DELETE 요청의 경우 어떤 기준으로 반환 타입을 정하는 게 좋을지 궁금합니다.

제가 생각하기에는 아래 두 가지 방식이 있을 것 같습니다.
강사님께서는 이러한 상황에서 어떤 기준을 표준으로 사용하시는지 궁금합니다.

1. 일관된 응답

return { success: true, data: null };

CREATE, READ, UPDATE와 동일하게 성공 여부를 명시하고 datanull로 처리하여 응답 구조를 통일하는 방식입니다.
이렇게 하면 프론트엔드에서 일관된 형태로 응답을 처리할 수 있을 것 같습니다.

2. HTTP 표준 준수 (204 No Content)
@HttpCode(204)
응답 본문을 따로 내려주지 않고 상태 코드만 반환하는 방식입니다.
이 경우 RESTful 표준에 부합하고 불필요한 네트워크 비용을 줄일 수 있을 것 같습니다.
다만 프론트엔드에서는 응답 본문이 없어 분기 처리가 필요할 수도 있을 것 같습니다.

이 두 가지 방식 중에서 실무에서는 어떤 기준으로 선택하시는지 또는 프로젝트 성격에 따라 구분하는 기준이 있을지 궁금합니다.




퀴즈

세션 기반 인증에서 사용자 상태 정보는 주로 어디에 저장될까요?

클라이언트 브라우저 쿠키 (정보 자체)

서버 데이터베이스 또는 메모리

JWT 토큰 페이로드

클라이언트 로컬 스토리지

답변 2

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

휴가중이라 답변이 늦었습니다. 죄송합니다.

저는 기본적으로 일관된 응답을 사용하는걸 좋아합니다.

"응답"은 백엔드의 관점도 중요하지만 받는쪽의 입장을 잘 고려한다면 더욱 협업하기 편한 설계가 가능해집니다.

프론트엔드를 설계한다면 어떻게 응답을 받아야 편할까 생각 해보세요.

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 관태님.

DELETE 요청의 반환 방식에 대해 고민하고 계시는군요. 각 방식의 장점과 단점을 잘 설명해 주셨습니다. 이와 관련된 내용을 설명드리겠습니다.

  1. 일관된 응답 방식:

    • API의 일관성을 유지하는 방법입니다. 모든 요청에 대해 같은 구조의 응답을 보내면 프론트엔드에서는 예측 가능한 방식으로 응답을 처리할 수 있습니다. 이 방식은 특히 다양한 상태에 대한 처리 로직을 간단하게 유지하도록 도와줍니다.
  2. HTTP 표준 준수 (204 No Content):

    • RESTful 설계 원칙을 충실히 따르는 방법입니다. DELETE 요청이 성공적이면 특별한 응답 본문이 필요 없음을 의미하는 204 상태 코드를 반환합니다. 이는 메시지 크기를 줄이고 트래픽을 감소시키는 데 유리합니다. 그러나 응답 본문이 없기 때문에 클라이언트에서 추가적인 처리가 필요할 수도 있습니다.

각 방식의 선택은 프로젝트의 요구사항이나 팀의 개발 철학에 따라 달라질 수 있습니다. 실무에서는 다음과 같은 기준을 고려할 수 있습니다:
- 응답의 일관성API의 직관성을 중시할 경우 첫 번째 방식을 선택하는 것이 좋습니다.
- 성능 최적화RESTful 원칙 준수를 강조한다면 두 번째 방식을 선택할 수 있습니다.

관련 논의에 참고될 수 있는 기존 질문을 첨부하니 확인해 보세요:
- DELETE 요청 처리 시 응답 방식에 대한 고려 사항과 장단점
- RESTful API에서 DELETE 요청의 응답 형태

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

관태님의 프로필 이미지
관태

작성한 질문수

질문하기