Подача контента из jar с помощью webflux? - PullRequest
0 голосов
/ 17 декабря 2018

Я использую Spring REST Docs для генерации документации.Затем я положил его в толстую банку.

Расположение файла в банке:

/BOOT-INF/classes/static/docs/index.html

Как мне обработать такой файл с помощью webflux?

Я пытался поместить resources в RouterFunctionDsl:

internal class MyRoutes() {

    fun router() = router {
        "/foo".nest {
            resources("/docs", ClassPathResource("docs/"))
        }
    }
}

к сожалению, без удачи

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Кажется, мне не нужно добавлять resources.Обслуживание статических файлов работает из коробки (в Spring Boot)

Согласно документации: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-webflux-static-content

0 голосов
/ 17 декабря 2018

Это похоже на опечатку в вашем примере кода, вероятно, это должно быть

ClassPathResource("static/docs/")

Я думаю, вы были смущены местоположениями по умолчанию, используемыми Spring Boot для обслуживания статических местоположений.Если вы посмотрите на раздел общих свойств приложения Spring Boot в справочной документации, вы увидите, что значения по умолчанию для расположений ресурсов в WebFlux и MVC следующие:

classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 

Таким образом, префикс /static не добавляется автоматически, это соглашение Spring Boot.

...