You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin版OpenAPI Generator多apiKey配置及重复导入问题

解决Kotlin版OpenAPI Generator多API Key配置及重复导入问题

重复导入的原因

你定义的每个apiKey安全方案(Apikey和Loginkey),在代码生成时都会单独触发一次ApiKeyAuth类的导入逻辑。当前版本的Kotlin生成模板没有对重复导入做去重处理,因此会生成重复的import org.openapitools.client.auth.ApiKeyAuth语句。

多API Key的正确配置与认证使用

1. 完善API规范的安全约束

在OpenAPI规范里,需要明确指定接口要启用的安全方案,支持全局配置或单路径单独配置:

# 全局约束:所有接口默认启用两个API Key认证
security:
  - Apikey: []
  - Loginkey: []

# 单路径配置:仅该接口启用双API Key认证
paths:
  /user/profile:
    get:
      security:
        - Apikey: []
        - Loginkey: []
      summary: 获取用户信息
      # 其他接口定义...

2. 生成代码后的认证配置

生成Kotlin代码后,需在客户端分别初始化两个API Key的认证实例:

val apiClient = ApiClient()

// 配置Apikey
val apikeyAuth = apiClient.getAuthentication("Apikey") as ApiKeyAuth
apikeyAuth.apiKey = "你的apikey值"

// 配置Loginkey
val loginkeyAuth = apiClient.getAuthentication("Loginkey") as ApiKeyAuth
loginkeyAuth.apiKey = "你的loginkey值"

// 用配置好的apiClient调用接口
val userApi = UserApi(apiClient)
val userProfile = userApi.getUserProfile()

3. 修复重复导入的方案

  • 临时处理:手动删除生成代码中重复的import语句,不影响代码功能。
  • 自定义模板:若需长期解决,可修改OpenAPI Generator的Kotlin模板,在处理导入的片段中添加去重逻辑。
  • 版本升级:尝试升级到最新版OpenAPI Generator,官方可能已修复该重复导入的bug。

内容的提问来源于stack exchange,提问作者mszan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 02:10:35