less than 1 minute read

멱등성을 지키려면 이 셋을 확실히 구분해야한다 rest api를 만들 때는 그나마 구분하는데 그냥 api를 만들때는 별 생각없이 쓰는 경우가 많다.

REST

이 유저 모델을 업데이트 할 때 각각의 처리

dto class User {
	username: String,
	email: String,
	nickname: String,
}

POST

필요한 모든 요소 전달

{
	"username": "user007",
	"email": "user007@email.org",
	"nickname": "user007",
}

필수값이 빠진 경우 오류

PUT

필요한 모든 요소 전달

{
	"username": "user007",
	"email": "user007@email.org",
	"nickname": "user007",
}

값이 빠진경우 오류 또는 없는 부분 삭제

{
	"username": "user007",
	"email": "user007@email.org",
}

nickname 삭제

PATCH

수정할 값만 전달

{
  "username": "user007"
}

nickname만 수정

주의

특히 put을 잘못 만드는 경우가 많다. 부분 업데이트가 되어서는 안된다.

Updated: