kotlin - 仅使用Kotlin时在Micronaut中生成Swagger/OpenAPI View

标签 kotlin swagger-ui openapi micronaut

https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html上的官方文档仅描述如何将-Dmicronaut.openapi.views.spec=...编译器标志添加到JavaCompile Gradle任务:

tasks.withType(JavaCompile) {
    options.fork = true
    options.forkOptions.jvmArgs << '-Dmicronaut.openapi.views.spec=rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop'
    ...
}

尽管在纯Kotlin项目中未使用此任务。我已经尝试过tasks.withType(compileKotlin),但没有成功。

谁能给我一个提示,如何为纯Kotlin项目传递build.gradle(仍然是Groovy)中的编译器标志?

最佳答案

我相信您正在寻找的东西(至少对于OpenApi的Micronaut JVM args)是这样的:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
    kotlinOptions {
        freeCompilerArgs += '-Dmicronaut.openapi.views.spec=rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop'
    }
}

See the Kotlin Docs on "Using Gradle -> Compiler Options"以获得有关如何为Kotlin编译步骤提供选项的更多信息(请确保您正在查看Groovy Gradle版本,因为您没有在Gradle文件中使用Kotlin DSL)

This SO question seems to be asking a similar thing,也可能有用

我认为fork中不提供kotlinOptions选项(我怀疑KotlinCompile已在派生进程中运行吗?不确定是否在那里)

关于kotlin - 仅使用Kotlin时在Micronaut中生成Swagger/OpenAPI View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59251507/

相关文章:

swagger-ui - 招摇: Add fields to all endpoints

gradle - Gradle包装器无法在构建中找到javafx,内置gradle在构建时可以正常工作

generics - Kotlin 泛型继承

spring-boot - 添加基本​​路径到 swagger 文档

swagger-ui - 如何在 OpenAPI 3 中提供具有此结构的响应示例?

dictionary - 为什么 `additionalProperties` 是 Swagger/OpenAPI 2.0 中表示 Dictionary/Map 的方式

node.js - 从 Mocha/Chai 测试套件生成 swagger/openapi 文档

Swagger 2.0 : Multiple Path objects with different paths but same request and response

Spring Boot 过滤器错误,未注册过滤器后无法注册

java - 在 Kotlin 中装饰方法集的惯用方法是什么