Spring 未找到其余文档生成的内容
Spring rest docs generated content not found
我正在使用 Spring REST Docs 为我们的 API 生成文档。
我已将教程中的所有内容添加到 build.gradle http://docs.spring.io/spring-restdocs/docs/current/reference/html5/
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'
}
}
在我执行 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"
}
请注意,此新任务取决于 asciidoctor
任务。这确保文档在复制之前已经生成。
其次,bootRun
任务必须依赖于新的copyRestDocs
任务:
bootRun {
dependsOn copyRestDocs
}
我正在使用 Spring REST Docs 为我们的 API 生成文档。 我已将教程中的所有内容添加到 build.gradle http://docs.spring.io/spring-restdocs/docs/current/reference/html5/
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'
}
}
在我执行 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"
}
请注意,此新任务取决于 asciidoctor
任务。这确保文档在复制之前已经生成。
其次,bootRun
任务必须依赖于新的copyRestDocs
任务:
bootRun {
dependsOn copyRestDocs
}