Noir::JacksonNaming
Jackson property naming strategies: a class-level
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) or the
Spring Boot default spring.jackson.property-naming-strategy: SNAKE_CASE
renames every JSON key that has no explicit @JsonProperty.
Constants
ANNOTATION_RE = /@(?:\w+\.)*JsonNaming\s*\(\s*(?:value\s*=\s*)?([\w.]+?)\s*(?:::|\.)\s*class\b/
@JsonNaming(X.class) (Java) / @JsonNaming(X::class) (Kotlin).
KNOWN = Set {"snakecase", "uppersnakecase", "kebabcase", "lowercase", "lowerdotcase", "uppercamelcase", "lowercamelcase"}
ROOT_NAME_RE = /@(?:\w+\.)*JsonRootName\s*\(([^)]*)\)/
@JsonRootName("user"): the key a body is wrapped in when
UNWRAP_ROOT_VALUE is on. Nil when absent or empty.
ROOT_VALUE_RE = /(?:\A|,)\s*(?:value\s*=\s*)?"([^"\\]*)"/
Instance methods
@JsonRootName("user"), @JsonRootName(namespace = "ns", value = "user").
Normalised strategy for a class name (SnakeCaseStrategy,
PropertyNamingStrategies.KebabCaseStrategy) or property value
(SNAKE_CASE, com.fasterxml...PropertyNamingStrategies$SnakeCaseStrategy),
nil when it is not a known strategy.