self-descrive message
메시지 스스로 메시지에 대한 설명 가능
서버는 메시지가 바뀌어도 클라이언트는 메시지 보고 해석 가능
hypermisa as the engine of application state (HATEOAS)
Client는 API에 들어있는 링크정보를 이용하여 이동해야한다.
링크 정보는 동적으로 바꿀수 있다.
ex ) API Docs 에 응답 부분 에 본문내용만 있는경우 → profile이라는 링크를 걸어서 클라이언트가 이해할수있도록 해야한다.
HATEOAS 응답은 로그인 하였을 때와 안하였을 때를 구분하여 작성하듯이 상태에 따라 다르게 작성하여야 한다.
{
_link : {
self:{
href : "현재 자신의 요청"
},
events :{
href : "이벤트 목록 링크"
},
get-an-event :{
href : "이벤트 하나 가져오는 링크"
},
profile :{
href : "이 RestAPI에 대한 설명(profile) 링크"
}
},
page:{
size: 20,
totalElements: 0,
totalPages: 0,
number: 0
}
}