我正在使用 springdoc . 它工作得完美无瑕,只是我尝试将默认的camelcase更改为pascalcase请求Map。我在文档中搜索,找不到调整属性命名的配置。使用时如何更改属性命名 springdoc ?
springdoc
ikfrs5lh1#
据我所知,你做不到。原因是无法通过使用swagger注解来更改请求处理程序的名称。方法/标识符名称的lowercamelcase由java命名约定和google命名约定提升。如果不遵循约定,您应该仍然能够编译和运行代码。除此之外,我不认为有一种官方的方法可以直接使用swagger来更改方法名的大小写。
mf98qq942#
正如@debargha roy在他的回答中提到的,没有明确的方法可以通过 springdoc 属性。我提出了基于github线程的kotlin解决方案。得到 PascalCase 或者 UpperCamelCase 在招摇中,你可以使用 ModelResolver :
PascalCase
UpperCamelCase
ModelResolver
@Bean fun modelResolver(objectMapper: ObjectMapper): ModelResolver { return ModelResolver(jacksonObjectMapper().registerModule(KotlinModule()).setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE)) }
它不能解析spring的输出响应 @RestController .默认情况下,spring使用jacksonMap器使响应遵循大写字母,请使用此属性 spring.jackson.property-naming-strategy=UPPER_CAMEL_CASE 在properties/yaml文件中。在这两个更改之后,您的swagger和restcontroller都将遵循大写camelcase样式。注:当心,如果你决定重用传入的 objectMapper (请参见下面的代码段),您可能会使用混合的camelcase获得重复的负载:
@RestController
spring.jackson.property-naming-strategy=UPPER_CAMEL_CASE
objectMapper
@Bean fun modelResolver(objectMapper: ObjectMapper): ModelResolver { return ModelResolver(objectMapper.registerModule(KotlinModule()).setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE)) }
2条答案
按热度按时间ikfrs5lh1#
据我所知,你做不到。原因是无法通过使用swagger注解来更改请求处理程序的名称。
方法/标识符名称的lowercamelcase由java命名约定和google命名约定提升。
如果不遵循约定,您应该仍然能够编译和运行代码。除此之外,我不认为有一种官方的方法可以直接使用swagger来更改方法名的大小写。
mf98qq942#
正如@debargha roy在他的回答中提到的,没有明确的方法可以通过
springdoc
属性。我提出了基于github线程的kotlin解决方案。
得到
PascalCase
或者UpperCamelCase
在招摇中,你可以使用ModelResolver
:它不能解析spring的输出响应
@RestController
.默认情况下,spring使用jacksonMap器使响应遵循大写字母,请使用此属性
spring.jackson.property-naming-strategy=UPPER_CAMEL_CASE
在properties/yaml文件中。在这两个更改之后,您的swagger和restcontroller都将遵循大写camelcase样式。
注:
当心,如果你决定重用传入的
objectMapper
(请参见下面的代码段),您可能会使用混合的camelcase获得重复的负载: