Post Put Patch
멱등성을 지키려면 이 셋을 확실히 구분해야한다 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을 잘못 만드는 경우가 많다. 부분 업데이트가 되어서는 안된다.