我想支持一些“基础设施”标头并使用它们来描述我的 api,但是在生成阶段,我不希望这些标头在代码中显示为参数。 我会用拦截器等特定手段来对付他们。
这可能吗?
最后我不得不编写一个自定义的胡子模板并定义我的供应商扩展。这是可能有帮助的片段:
{{#vendorExtensions.x-custom}}
,@ApiImplicitParam(name = "param", value = "First param", required=false, dataType = "Integer", paramType = "header")
{{/vendorExtensions.x-custom}}
聚会迟到了。自 2022 年起,就有一个您需要的配置选项:
implicitHeadersRegex
Description: Skip header parameters that matches given regex in the generated API methods using @ApiImplicitParams annotation. Note: this parameter is ignored when implicitHeaders=true
(added in 2022. Reference: https://github.com/OpenAPITools/openapi-generator/pull/11819)
如果您的标头与该正则表达式匹配,则生成的源代码中不会考虑这些标头。
请查阅文档:https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/spring.md