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!