Как я могу визуализировать свою страницу index.html, используя документы spring rest

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

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

Я использовал следующий учебник шаг за шагом: 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>

Наконец, я запускаю свое приложение со следующим классом:

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

Любые идеи?


person rasilvap    schedule 23.05.2019    source источник


Ответы (1)


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

person Andy Wilkinson    schedule 25.05.2019