如何更改 springdoc 中的命名策略?
How to change namingStrategy in springdoc?
我正在使用 springdoc
。它工作完美,除了我试图将默认的 camelCase 更改为 PascalCase 请求映射。
我搜索了文档,找不到调整 属性 命名的配置。
如何在使用 springdoc
时更改 属性 命名?
据我所知,你做不到。原因是无法使用 Swagger 注释更改请求处理程序的名称。
method/identifier 名称的小驼峰式命名由 Java Naming Conventions and also by the Google Naming Convention 提倡。
如果您不遵循约定,您应该仍然能够编译和 运行 代码。除此之外,我不认为有直接使用 Swagger 更改方法名称大小写的官方方法。
正如@Debargha Roy 在他的回答中提到的,没有明确的方法可以通过 springdoc
属性来做到这一点。
我根据 GitHub thread.
提出我的 Kotlin 解决方案
要在 Swagger 中获取 PascalCase
或 UpperCamelCase
,您可以使用 ModelResolver
:
@Bean
fun modelResolver(objectMapper: ObjectMapper): ModelResolver {
return ModelResolver(jacksonObjectMapper().registerModule(KotlinModule()).setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE))
}
它不解析来自 Spring @RestController
的输出响应。
默认情况下,Spring 使用 Jackson 映射器使响应遵循 UpperCamelCase,在 properties/yaml 文件中使用此 属性 spring.jackson.property-naming-strategy=UPPER_CAMEL_CASE
。
经过这 2 次更改后,您的 Swagger 和 RestController 都将遵循 UpperCamelCase 样式。
注意:
请注意,如果您决定重用传入的 objectMapper
(请参阅下面的代码片段),您可能会得到混合驼峰式大小写的重复负载:
@Bean
fun modelResolver(objectMapper: ObjectMapper): ModelResolver {
return ModelResolver(objectMapper.registerModule(KotlinModule()).setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE))
}
我正在使用 springdoc
。它工作完美,除了我试图将默认的 camelCase 更改为 PascalCase 请求映射。
我搜索了文档,找不到调整 属性 命名的配置。
如何在使用 springdoc
时更改 属性 命名?
据我所知,你做不到。原因是无法使用 Swagger 注释更改请求处理程序的名称。
method/identifier 名称的小驼峰式命名由 Java Naming Conventions and also by the Google Naming Convention 提倡。
如果您不遵循约定,您应该仍然能够编译和 运行 代码。除此之外,我不认为有直接使用 Swagger 更改方法名称大小写的官方方法。
正如@Debargha Roy 在他的回答中提到的,没有明确的方法可以通过 springdoc
属性来做到这一点。
我根据 GitHub thread.
提出我的 Kotlin 解决方案要在 Swagger 中获取 PascalCase
或 UpperCamelCase
,您可以使用 ModelResolver
:
@Bean
fun modelResolver(objectMapper: ObjectMapper): ModelResolver {
return ModelResolver(jacksonObjectMapper().registerModule(KotlinModule()).setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE))
}
它不解析来自 Spring @RestController
的输出响应。
默认情况下,Spring 使用 Jackson 映射器使响应遵循 UpperCamelCase,在 properties/yaml 文件中使用此 属性 spring.jackson.property-naming-strategy=UPPER_CAMEL_CASE
。
经过这 2 次更改后,您的 Swagger 和 RestController 都将遵循 UpperCamelCase 样式。
注意:
请注意,如果您决定重用传入的 objectMapper
(请参阅下面的代码片段),您可能会得到混合驼峰式大小写的重复负载:
@Bean
fun modelResolver(objectMapper: ObjectMapper): ModelResolver {
return ModelResolver(objectMapper.registerModule(KotlinModule()).setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE))
}