Как я могу визуализировать мою страницу index.html, используя документы по весеннему отдыху? - PullRequest
2 голосов
/ 23 мая 2019

Я в основном начинаю использовать документы по весеннему отдыху для генерации документации моих служб отдыха. Проблема в том, что я не знаю, как я могу визуализировать документацию из моего приложения. Я был вынужден увидеть результаты в: http://localhost:8080/docs/index.html. Но когда я открываю этот URL, я вижу проблему: Страница ошибки Whitelabel Это приложение не имеет явного сопоставления для / error, поэтому вы видите это как запасной вариант.

Ср 22 мая 22:36:46 COT 2019 Произошла непредвиденная ошибка (тип = Не найдено, статус = 404). Нет доступных сообщений

Я использовал пошаговое руководство nex: https://spring.io/guides/gs/testing-restdocs/. Я смог выполнить все шаги, и теперь в моем проекте у меня есть фрагменты:

enter image description here

А также страница index.html была создана по пути: target / generate-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 голосов
/ 25 мая 2019

Как указано в документации , вам необходимо настроить сборку для копирования сгенерированного 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.

...