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

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12

작성한 질문수

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

Put 요청 Patch로 변경

강의를 보고 나니 Restful한 api를 설계 하기 위해선

작성

·

204

0

강의를 보고 나니 Restful한 api를 설계 하기 위해선

Profile 에 해당하는 프로퍼티가
name: string;
age: number;

address: string;

있을때

 

1. patch

[client 요청]

{

name: 'codefactory',
age: 98000,

address: '판교'

}

  • 프로퍼티를 전체 수정 또는 생성 한다.

  • 해당 resource id값에 해당하는 데이터가 없으면 에러를 던지지 않고 새로 생성한다.

  • 모든 프로퍼티를 기입 해야하고 전체 수정이 발생하거나 새로 생성 된다.

2. patch

[client 요청]

{

name: 'codefactory2',

}

  • 수정 하고자 하는 프로퍼티만 기입

  • 해당 resource id값에 해당하는 데이터가 없으면 찾을 수 없다는 error를 던져준다.

     

 

제가 이해한것을 정리 해보았고, 궁금한점을 한가지 질문을 적어 보자면

  1. 그렇다면 만약, 모든 프로퍼티를 보내지만, 데이터가 없을때 새로 생성하지 않고 에러를 던지는 api가 필요하면 이것은 put인가요 patch 일까요?

답변 1

1

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

안녕하세요!

말씀하신 스펙에 정확히 들어맞는 method는 없는 것 같습니다.

그럴만도 한게 지금 조금 오랫동안 고민을 해봤는데 말씀하실만한 상황이 필요한 경우를 잘 모르겠습니다.

하지만 언제까지나 method의 사용법은 가이드라인일뿐입니다. 특수한 기능이 필요하다면 엔지니어 판단하에 가장 적합한 method를 사용하면 됩니다.

감사합니다!

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12
질문자

그렇군요. 완전 다른 method(post,delete)로 사용 하지만 않는다면 엔지니어의 판단으로 설계 하면 되는거군요

rhkdtjd_12님의 프로필 이미지
rhkdtjd_12

작성한 질문수

질문하기