강의

멘토링

로드맵

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

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

작성한 질문수

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

Token Refresh 기능 정리하기

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

작성

·

7

·

수정됨

0

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

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

1. 일관된 응답

return { success: true, data: null };

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

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

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




답변 1

0

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

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

  1. 일관된 응답 방식:

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

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

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

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

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

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

작성한 질문수

질문하기