swagger-codegen header Java REST 客户端的参数
swagger-codegen header parameter for Java REST Client
我正在使用 swagger-codegen 为我的一个 REST API 生成 Java REST 客户端。 REST APIs 采用可选的 header 参数。客户端中生成的方法有一个附加参数,该参数采用 header。我希望在方法签名中没有 header 参数的情况下生成这些方法。
我已阅读文档,但找不到任何参考资料。
例如,对于带有选项 X-CUSTOM-HEADER 参数的 GET all API,swagger-codegen 生成如下方法:
public List<SomeType> findAllUsingGET1(String optionalHeader)
如我所愿:
public List<SomeType> findAllUsingGET1()
寻找解决方法的指示,而不是自定义 client-code 代。
编辑 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 规范中删除参数。
要添加默认的headers,可以使用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
更新:Header 参数,类似于表单、查询参数,作为方法参数生成。从开发人员的角度来看,它只是另一个参数(他们不需要知道该参数是header、表单参数还是查询参数)
我正在使用 swagger-codegen 为我的一个 REST API 生成 Java REST 客户端。 REST APIs 采用可选的 header 参数。客户端中生成的方法有一个附加参数,该参数采用 header。我希望在方法签名中没有 header 参数的情况下生成这些方法。 我已阅读文档,但找不到任何参考资料。
例如,对于带有选项 X-CUSTOM-HEADER 参数的 GET all API,swagger-codegen 生成如下方法:
public List<SomeType> findAllUsingGET1(String optionalHeader)
如我所愿:
public List<SomeType> findAllUsingGET1()
寻找解决方法的指示,而不是自定义 client-code 代。
编辑 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 规范中删除参数。
要添加默认的headers,可以使用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
更新:Header 参数,类似于表单、查询参数,作为方法参数生成。从开发人员的角度来看,它只是另一个参数(他们不需要知道该参数是header、表单参数还是查询参数)