Spring Boot 如何使用OpenAPI Generator生成多个标头作为Map?

hrirmatl  于 2023-05-06  发布在  Spring
关注(0)|答案(1)|浏览(400)

在我的OpenAPI 2.0定义中有以下两个头文件:

{
        "name": "key",
        "in": "header",
        "description": "v4 UUID ",
        "required": true,
        "type": "string",
        "format": "string",
        "x-example": "d1257cae-9814-90d0-89e0-abd9ae7b3375"
      },
      {
        "name": "emp-number",
        "in": "header",
        "description": "The emp number",
        "required": true,
        "type": "string",
        "x-example": "43234"
      },

由OpenAPI Generator生成的实现类带有两个用于头文件的参数:

makeXy(String key, String emp-number)

有没有可能将这两个头文件合并并生成一个Map?就像这样:

makeXy(Map<String, String> headers)
xcitsw88

xcitsw881#

OpenApi生成器使用mustache模板来生成代码。对于Spring,您可以在这里找到这些模板:
https://github.com/OpenAPITools/openapi-generator/tree/master/modules/openapi-generator/src/main/resources/JavaSpring
api.mustache中找到{{>headerParams}}。这是一个mustache partial,它是一种在多个地方重用相同模板代码的方法。在这里,它的意思是,包括headerParams.mustache在这个地方。
headerParams.mustache中,您会发现头文件是一个接一个地包含的。
总之,不可能生成多个标头参数的Map(至少在默认配置机制下不可能)。

相关问题