우리가 애플리케이션의 API를 설계, 개발할 때 REST 하지 않다는 얘기를 합니다. 이 때 RESTful 하다는 것은 어떤 의미일까요? 이번 시간에는 RESTful하다는 것이 무엇인지 딥다이브 해봅니다.
→ REpresentatioanal State Transfer : 분산 하이퍼미디어 시스템(웹)을 위한 아키텍쳐 스타일
구성요소 ( REST API 가 되기 위해 만족해야하는 제약조건 )
identification of resources
manipulation of resources through representaions
self-descriptive messages
메시지는 메시지 자체로 스스로 설명되어야 한다. Host, Data-type의 명시, Data의 해석이 자체적으로 모두 가능해야함

Content-Type이 없다면 아래 대괄호, 중괄호가 무슨 의미인지 모른다. 따라서 application/json을 명시해준다.
하지만 이 또한 json으로만 되어있다면 아래 json form의 op, path가 어떤 의미인지 해석할 수 없으므로, json-patch+json 을 명시하여 self-descriptive하게 만들어준다.
hypermedia as the engine of application state (HATEOAS)