Как просмотреть stati c страниц, сгенерированных в META-INF, используя Grails 4 - PullRequest
2 голосов
/ 07 апреля 2020

Micronaut является родительским контекстом приложения Grails 4. Мы пытаемся использовать некоторые функции Micronauts в нашем приложении Grails 4. В частности, мы пытаемся использовать функцию генератора документации Micronaut Swagger / OpenAPI.

Мы включили следующие зависимости:

    annotationProcessor "io.micronaut.configuration:micronaut-openapi:1.4.0"
    compile "io.swagger.core.v3:swagger-annotations:2.1.1"
    compileOnly "io.micronaut.configuration:micronaut-openapi:1.4.0"

Мы включили следующие jvmArgs:

tasks.withType(GroovyCompile) {
    configure(groovyOptions) {
        forkOptions.jvmArgs = ['-Xmx1024m', '-Dmicronaut.openapi.views.spec=rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop']
    }
}

И, наконец, добавлена ​​аннотация в приложении:


@CompileStatic
@OpenAPIDefinition(
        info = @Info(
                title = "TODO",
                version = "1.0",
                description = "TODO",
                license = @License(name = "TODO", url = "TODO"),
                contact = @Contact(url = "TODO", name = "TODO", email = "TODO")
        )
)
class Application extends GrailsAutoConfiguration {
    static void main(String[] args) {
        GrailsApp.run(Application, args)
    }
}

При этом успешно создает файл YAML OpenAPI в / build / classes / groovy / main / META-INF / swagger, а также представления Rapido c и Swagger-UI по адресу /build/classes/groovy/main/META-INF/swagger/views.

Теперь мы пытаемся настроить представления для сгенерированных файлов.

Мы пытались включить в UrlMappings. groovy:

        "/swagger"(view:'META-INF/swagger/')
        "/swagger-ui"(view:'META-INF/swagger/views/swagger-ui/')
        "/rapidoc"(view:'META-INF/swagger/views/rapidoc/')

Но это не работает. Выдает следующее исключение:

javax.servlet.ServletException: Could not resolve view with name 'META-INF/swagger/views/swagger-ui/' in servlet with name 'grailsDispatcherServlet

Пожалуйста, сообщите! Tks!

...