如何使用 spring rest 文档可视化我的 index.html 页面

How can I visualize my index.html page using spring rest docs

我基本上开始使用 spring 休息文档来生成我的休息服务的文档。问题是我不知道如何从我的应用程序中可视化文档。我想在 http://localhost:8080/docs/index.html 中看到结果。但是当我打开这个 url 时,我看到了问题: 白标错误页面 此应用程序没有 /error 的显式映射,因此您将其视为后备。

5 月 22 日,星期三 22:36:46 COT 2019 出现意外错误(类型=未找到,状态=404)。 没有留言

我已经一步步使用了nex教程:https://spring.io/guides/gs/testing-restdocs/。我能够按照所有步骤进行操作,现在在我的项目中我有了片段:

并且还在路径中创建了 index.html 页面:target/generated-docs/index.html:

在我的 pom.xml 我添加了下一个插件:

           <plugin>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctor-maven-plugin</artifactId>
                <version>1.5.6</version>
                <executions>
                    <execution>
                        <id>generate-docs</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>process-asciidoc</goal>
                        </goals>
                        <configuration>
                            <sourceDocumentName>index.adoc</sourceDocumentName>
                            <backend>html</backend>
                            <attributes>
                                <snippets>${project.build.directory}/snippets</snippets>
                            </attributes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

最后我用下一个 class:

运行我的应用程序
@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE)
@EnableAutoConfiguration
@ComponentScan(
        basePackages = [
            "com.espn.csemobile.espnapp",
            "com.espn.personalization"]
)
open class SportscenterProductApi

fun main(args: Array<String>) {
    val app = SpringApplication(SportscenterProductApi::class.java)
    app.setBannerMode(Mode.LOG)
    app.setLogStartupInfo(true)
    app.run(*args)
}

有什么想法吗?

作为 described in the documentation,您需要配置构建以将生成的 HTML 复制到将打包到您的应用中的位置。

asciidoctor-maven-plugin的配置后添加如下插件配置到你的pom.xml:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration> 
                <outputDirectory>
                    ${project.build.outputDirectory}/static/docs
                </outputDirectory>
                <resources>
                    <resource>
                        <directory>
                            ${project.build.directory}/generated-docs
                        </directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

这应该使文档在 http://localhost:8080/docs/index.html 上可用。