gpt4 book ai didi

java - Java REST 客户端的 swagger-codegen header 参数

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:04:11 26 4
gpt4 key购买 nike

我正在使用 swagger-codegen 为我的一个 REST API 生成 Java REST 客户端。 REST API 采用可选的 header 参数。客户端中生成的方法有一个附加参数,该参数采用 header 。我希望在方法签名中没有 header 参数的情况下生成这些方法。我已阅读文档,但找不到任何引用资料。

例如,对于带有选项 X-CUSTOM-HEADER 参数的 GET all API,swagger-codegen 生成如下所示的方法:

public List<SomeType> findAllUsingGET1(String optionalHeader)

如我所愿:

public List<SomeType> findAllUsingGET1()

寻找解决方法的指示,而不是自定义客户端代码生成。

编辑 1:添加 JSON 规范

  "get": {
"summary": "findAll",
"operationId": "findAllUsingGET1",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "X-CUSTOM-HEADER",
"in": "header",
"description": "Custom Header",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
}
}

最佳答案

如果要从 Java API 客户端的方法签名中删除参数(可选),唯一的方法是从 Swagger/OpenAPI 规范中删除该参数。

要添加默认 header ,可以使用ApiClient 中的addDefaultHeader 方法:https://github.com/swagger-api/swagger-codegen/blob/master/samples/client/petstore/java/okhttp-gson/src/main/java/io/swagger/client/ApiClient.java#L528

更新:标题参数,类似于表单,查询参数,生成为方法参数。从开发人员的角度来看,它只是另一个参数(他们不需要知道该参数是标题、表单还是查询参数)

关于java - Java REST 客户端的 swagger-codegen header 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43044439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com