【发布时间】:2020-07-15 08:25:28
【问题描述】:
我现在从注释中生成 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,但由此产生的招摇会为同一个标头生成两个条目:
- 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
有没有一种方法可以大摇大摆地隐藏一个或将所有必需的信息组合到一个地方,而不必制作非标准的标头名称或 Java 参数名称?
【问题讨论】:
-
您需要使用@ApiParam 来更改名称,而不是使用ApiImplicitParam:baeldung.com/swagger-apiparam-vs-apimodelproperty ApiImplicitParam 用于添加其他属性
-
@pinkpanther 作为答案?
-
我的建议有效吗?
-
它应该被声明为参数的一部分,而不是
ApiImplicitParams的一部分。Response processRequest(@ApiParam("x-my-header-name") @HeaderParam("x-my-header-name") String myHeaderName) -
太棒了!它是您问题的答案吗?我可以添加它作为答案吗?