티스토리 뷰
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 할수 없다
'RESTAPI' 카테고리의 다른 글
RESTAPI - Event 수정 API (0) | 2019.08.22 |
---|---|
RESTAPI - Event 목록 API (0) | 2019.08.19 |
RESTAPI - Spring - REST DOCS 테스트 설정 분리하기 (0) | 2019.08.19 |
RESTAPI - Spring - REST DOCS 문서 빌드하기 (0) | 2019.08.19 |
RESTAPI - Spring - REST DOCS 링크 필드 헤더 문서화 (0) | 2019.08.15 |
댓글