티스토리 뷰

REST API - Spring - REST DOCS API Index 생성하기

Index 생성하기

  • API 의 진입점을 통해 리소스를 제공. API의 진입점이 필요하다.
  • GET /api 요청시 _links 에 api 리소스에 대한 링크들을 제공한다.

IndexController 에 대한 TEST 코드 작성

 

IndexController 작성

  • rel: events로 event 목록 api 에 대한 링크르 제공하도록 구현

 

테스트 결과

  • _links.events 링크가 존재하는것을 확인 가능

 

에러 발생시 인덱스로 가는 링크 제공

  • 보통의 웹사이트 이용중 에러 발생시 인덱스 페이지로 이동하는 링크 정보를 제공한다.
  • API 에서도 에러 발생시 인덱스로 이동가능한 링크 정보를 제공 해야한다.
  • Errors 객체도 Resource 로 만들어 링크 정보를 추가하는 형태로 제공

ErrorResource

  • EventResource와 동일하게 Resource를 구현하는 클래스를 생성
  • rel: index 로 index 링크 정보를 제공한다.

 

이벤트 생성 API 수정

  • badRequest 응답시 errors 가 아닌 ErrorResource를 제공한다.
  • ErrorResource에는 index에 대한 링크정보가 들어있다.

 

잘못된 요청시 에러 정보와 함께 인덱스 링크 정보 여부 테스트

 

테스트 결과

  • 왜 테스트가 실패할까 ?
  • json 응답에 Unwrap 되지 않았다.
  • ResourceSupport 를 구현하는 하위 클래스중 Resource 를 사용하면 에 해당하는 Resource가 content 필드로 제공된다.
  • getContent() method 에는 @JsonUnwrapped 애노테이션이 붙어있을텐데 왜 Unwrap되지 않았을까 ?

 

JSON Array 는 Unwarp 되지 않는다.

  • @JsonUnwrapped 애노테이션 상단의 주석을 보면 JSON Array는 Unwarp 할수 없다

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함