REST란??
REST는 Representational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개하였다. 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표하였다.
REST의 구성
자원(Resource): URI
행위(Verb): HTTP Method
표현(Representations)
REST API 디자인 가이드
URI는 정보의 자원을 표현해야하고,
자원에 대한 행위는 HTTP Method(GET,POST,PUT,DELETE)로 표현한다.
rest api에 대해 더 궁금하다면 참고하면 정말 좋은 영상!
Member |
---|
name |
age |
리소스의 모든 것을 업데이트
POST/members
{
name: "홍길동",
age: 19,
}
Member | 1 |
---|---|
name | 홍길동 |
age | 19 |
PUT/members/1
{
name: 홍길순
}
Member | 1 |
---|---|
name | 홍길동 |
age | null |
리소스의 일부를 업데이트
POST/members
{
name: "홍길동",
age: 19,
}
Member | 1 |
---|---|
name | 홍길동 |
age | 19 |
PATCH/members/1
{
name: 홍길순
}
Member | 1 |
---|---|
name | 홍길순 |
age | 19 |
requestDTO에서 데이터를 매핑하면, 수정되지않은 필드가(여기서 age) null로 적용될 수 있다. 그러면 사실 PATCH와 PUT이 비슷하다. 어떠한 field의 수정이 일어났는지 굳이 서버에서 관리를 하지 않을수 있기에 PATCH보다는 PUT을 사용한다고 한다.
참고자료
https://yeonyeon.tistory.com/183
https://meetup.toast.com/posts/92
https://programmer93.tistory.com/39