如何使用Spring Rest文档

时间:2019-05-23 04:03:12

标签: kotlin documentation-generation spring-restdocs

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

2019年5月22日星期三22:36:46 发生意外错误(类型=未找到,状态= 404)。 没有可用消息

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

enter image description here

在以下路径中也创建了index.html页面:target / generation-docs / index.html:

enter image description here

在我的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>

最后,我在下一个类中运行我的应用程序:

@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)
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

pom.xml的配置之后,将以下插件配置添加到您的asciidoctor-maven-plugin

<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上获得。