REST API - Spring - REST DOCS 문서 빌드하기 Maven Plugin 추가 org.asciidoctor asciidoctor-maven-plugin 1.5.3 generate-docs prepare-package process-asciidoc html book org.springframework.restdocs spring-restdocs-asciidoctor ${spring-restdocs.version} org.springframework.boot spring-boot-maven-plugin maven-resources-plugin 2.7 copy-resources prepare-package copy-resources ${project.build.outputDirectory}/..
REST API - Spring - REST DOCS 링크_필드_헤더 문서화 요청 필드와, 헤더정보, 응답의 필드와 링크정보 에 대한 문서화가 필요하다. 필요한 링크정보 self query-events update-events profile 문서화 테스트 코드 links(): 링크에 대한 문서화 linkWithRel(): 링크와 리소스와의 관계를 정의 description(): 링크에 대한 설명 requestHeaders(): 요청 헤더에 대한 문서화 headerWithName(): 헤더의 이름 description(): 헤더에 대한 설명 requestFields(): 요청 필드에 대한 문서화 fieldWithPath(): 요청 필드의 Path 명 description(): 필드에 대한 설명 respon..
REST API - Spring - REST DOCS_요청_본문_문서화 REST Docs 자동설정 @AutoConfigureRestDocs Spring Boot를 사용한다면 별다른 설정 없이 @AutoConfigureRestDocs 애노테이션만 사용하면 Rest Docs를 사용할 수 있다. @AutoConfigureRestDocs 간단한 Snippets 생성 코드 .andDo(document("create-event")): create-event 라는 이름의 snippets를 생성하도록 코드를 수정한다. 테스트를 실행하면 create-evnet snippets가 생성된다. Snippets 생성 위치 Spring - Rest Docs를 사용하여 테스트 코드를 실행하면 기본적으로 target/generate..
REST API - Spring - HATEOAS 적용하기 REST가 잘적용된 API 라면 응답에 HATEOAS를 지켜야한다. Spring - HATEOAS 를 사용하여 HATEOAS 적용하자 테스트 코드 변경 링크 정보를 제공하는지 테스트 코드를 추가한다. self: 리소스 에 대한 링크 query-events: 이벤트목록에 대한 링크 update-event: 이벤트 수정에 대한 링크 현재는 아무런 링크정보도 제공하지 않기때문에 당연히 테스트는 실패한다. EventResource EventResource를 쉽게 생성하는 방법은 ResourceSupport를 상속받는 클래스를 새롭게 정의하고, Event 객체를 주입받아 Getter 메서드를 활용하여 제공하는 방법. ResourceSupport를 상속받으..