Swagger ApiImplicitParam 有没有办法为参数和 api 定义单独的名称
Is there a way for Swagger ApiImplicitParam to define separate names for parameter and api
我现在从注释生成 swagger 并尝试在我首先移动到模式时在短时间内清理生成,所以我有:
@ApiImplicitParams({
@ApiImplicitParam(
name = "x-my-header-name", dataType = "string", paramType = "header", allowMultiple = true,
allowableValues = "A,B,C,D",
value = "Header defined presentation options"
),
...
public Response processRequest(@HeaderParam("x-my-header-name") String myHeaderName) {
return something;
...
HeaderParam
用于将 x-my-header-name
映射到 myHeaderName
但是从中生成 swagger 会为相同的 header:
生成两个条目
- name: x-my-header-name
in: header
required: false
type: string
- name: x-my-header-name
in: header
description: 'Header defined presentation options'
required: false
type: array
items:
type: string
enum:
- A
- B
- C
- D
collectionFormat: csv
有没有办法让 swagger 隐藏一个或将所有必需的信息组合到一个地方,而不必制作非标准的 header 名称或 Java 参数名称?
您需要使用 @ApiParam
来更改名称,而不是使用 ApiImplicitParam
参考:https://www.baeldung.com/swagger-apiparam-vs-apimodelproperty。 ApiImplicitParam
用于添加额外的属性。
Response processRequest(
@ApiParam("x-my-header-name")
@HeaderParam("x-my-header-name") String myHeaderName) {
//...
}
我现在从注释生成 swagger 并尝试在我首先移动到模式时在短时间内清理生成,所以我有:
@ApiImplicitParams({
@ApiImplicitParam(
name = "x-my-header-name", dataType = "string", paramType = "header", allowMultiple = true,
allowableValues = "A,B,C,D",
value = "Header defined presentation options"
),
...
public Response processRequest(@HeaderParam("x-my-header-name") String myHeaderName) {
return something;
...
HeaderParam
用于将 x-my-header-name
映射到 myHeaderName
但是从中生成 swagger 会为相同的 header:
- name: x-my-header-name
in: header
required: false
type: string
- name: x-my-header-name
in: header
description: 'Header defined presentation options'
required: false
type: array
items:
type: string
enum:
- A
- B
- C
- D
collectionFormat: csv
有没有办法让 swagger 隐藏一个或将所有必需的信息组合到一个地方,而不必制作非标准的 header 名称或 Java 参数名称?
您需要使用 @ApiParam
来更改名称,而不是使用 ApiImplicitParam
参考:https://www.baeldung.com/swagger-apiparam-vs-apimodelproperty。 ApiImplicitParam
用于添加额外的属性。
Response processRequest(
@ApiParam("x-my-header-name")
@HeaderParam("x-my-header-name") String myHeaderName) {
//...
}