Spring REST Docs
🍽️ REST Docs를 사용하는 이유
🍽️ 적용 방법
의존성 추가
// 1. restdocs에 대한 dependencies를 추가한다.
val asciidoctorExt: Configuration by configurations.creating
dependencies {
testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc")
testImplementation("org.springframework.restdocs:spring-restdocs-asciidoctor")
asciidoctorExt("org.springframework.restdocs:spring-restdocs-asciidoctor")
}
// 2. test 시 restdocs에서 자동 생성할 snippets를 저장할 폴더를 명시한다.
val snippetsDir by extra { file("build/generated-snippets") }
tasks.test {
outputs.dir(snippetsDir)
}
// 3. snippetsDir에서 얻은 snippets를 사용해 index.html 파일을 생성한다.
// 생성된 파일들은 build 디렉토리와 프로덕션 디렉토리 모두에 추가한다.
tasks.asciidoctor {
doFirst {
delete("src/main/resources/static/docs")
}
inputs.dir(snippetsDir)
configurations(asciidoctorExt.name)
dependsOn(tasks.test)
doLast {
copy {
from("build/docs/asciidoc")
into("src/main/resources/static/docs")
}
copy {
from("build/docs/asciidoc")
into("build/resources/main/static/docs")
}
}
}
// 4. bootJar 사용 시 asciidoctor가 실행되어야 한다.
tasks.bootJar {
dependsOn(tasks.asciidoctor)
}테스트 코드 동작 검증
API 문서 작성
REST Docs 보기
참고 자료
더 나아가기
Last updated