구현한 프로젝트 api를 RestDocs를 사용해서 문서화시켜보았다.
asciidoctor
플러그인을 사용하여 문서화를 시키려고 했는데, 강사님 코드대로 pom.xml의 <plugins>
에 아래 plugin을 추가하였는데도
<!-- <plugins>에 코드 추가한 부분 -->
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-docs</id>
<phase>prepare-package</phase>
<goals>
<!-- docs/asciidoc/index.adoc 참고해서 target/generated-docs/html파일 생성 -->
<goal>process-asciidoc</goal>
</goals>
<configuration>
<backend>html</backend>
<doctype>book</doctype>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-asciidoctor</artifactId>
<version>${spring-restdocs.version}</version>
</dependency>
</dependencies>
</plugin>
우선 다른 교육생 분들의 해결방법이다. 나는 이 방식들대로 하여도 해결되지 않았다.
1. maven repository를 업데이트
2. asciidoctor plugin의 dependency 부분 코드를 <dependencies>
에도 추가
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-asciidoctor</artifactId>
<version>${spring-restdocs.version}</version>
</dependency>
역시나 되지 않음
3. 위에 추가했던 plugin을 삭제하고 아래 plugin 추가
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<executions>
<execution>
<id>asciidoc-to-html</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
</execution>
</executions>
</plugin>
AsciiDoc
<dependencies>
에 asciidoctor-maven-plugin dependency 추가<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>2.2.1</version>
</dependency>
: build와 엮어서 plugin을 실행해서 api 명세 html 파일을 만든 후, static resource를 serving할 수 있는 곳에 올리고(nginx) 공유한다.
SnippetException: The following parts of the payload were not documented
에러가 뜬다.pom.xml
코드https://github.com/Jummi10/kdt-jpa/blob/master/pom.xml