Ore*_*est 2 java spring spring-mvc spring-restdocs
我正在使用 Spring REST Docs 为我们的 API 生成文档。我已经从这里的教程http://docs.spring.io/spring-restdocs/docs/current/reference/html5/添加了所有内容到 build.gradle
ext {
snippetsDir = file('build/generated-snippets')
}
test {
outputs.dir snippetsDir
}
asciidoctor {
attributes 'snippets': snippetsDir
inputs.dir snippetsDir
outputDir "build/asciidoc"
dependsOn test
sourceDir 'src/main/asciidoc'
}
jar {
dependsOn asciidoctor
from ("${asciidoctor.outputDir}/html5") {
into 'static/docs'
}
}
Run Code Online (Sandbox Code Playgroud)
在我这样做之后,gradle build我可以看到在build/asciidoc目录中生成了文件,也在build/generated-snippets.
但是,当我从 IDEA gradle 任务运行bootRun并尝试访问 localhost:8080/docs/index.html 时,我找不到 404。只是为了测试,我尝试将一些index.html文件放在resources/static目录下,然后执行bootRun,我可以访问localhost:8080/index.html文件在那之后。
如果我打开我的 .jar 文件,我可以看到目录下的静态文件,BOOT-INF/classes/static/docs因此它们被打包到 jar 中。
也许有人有同样的问题?
您需要做两件事才能在使用bootRun. 第一种是将生成的文档复制到以下位置使用的类路径上bootRun:
task copyRestDocs(type: Copy) {
dependsOn asciidoctor
from "${asciidoctor.outputDir}/html5"
into "${sourceSets.main.output.resourcesDir}/static/docs"
}
Run Code Online (Sandbox Code Playgroud)
请注意,此新任务取决于asciidoctor任务。这可确保文档在复制之前已生成。
其次,bootRun任务必须依赖于新copyRestDocs任务:
bootRun {
dependsOn copyRestDocs
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1663 次 |
| 最近记录: |