Skip to content

UI publish endpoint fails when spring.jackson.property-naming-strategy=SNAKE_CASE (payload fields generated in camelCase)Β #1535

@florenciazabala

Description

@florenciazabala

When spring.jackson.property-naming-strategy=SNAKE_CASE is enabled in a Spring Boot application, the Springwolf UI fails to publish messages to Kafka because it generates the payload with camelCase field names, while the application expects snake_case.

As a result, publishing from the UI triggers a schema mismatch error like:

2025-12-03T19:31:55.625-03:00  INFO 80552 --- 
[property-naming-strategy-conflict] [nio-8080-exec-7] 
i.g.s.c.c.PublishingPayloadCreator : 
Specified payloadType java.lang.String is not a registered springwolf schema. 
Known payloadTypes: [
  com.springwolf.property_naming_strategy_conflict.kafka.schema.Loan, 
  SpringKafkaDefaultHeaders-Loan-1030528931, 
  LoanHeaders
]

However, if I manually publish the message using Postman with snake_case fields, the application processes it correctly. This confirms that the UI is generating the wrong field naming format.

Dependencies and versions used

  • springwolf-kafka: 1.18.0

  • springwolf-ui: 1.18.0

  • Spring Boot: 3.5.8

Steps to reproduce

  • Clone the example repository reproducing the issue: https://github.com/florenciazabala/springwolf-property-naming-strategy

  • Run the Spring Boot application.

  • Open Springwolf UI β†’ select a Kafka topic β†’ click Publish.

  • The UI generates the payload using camelCase instead of snake_case.

  • Publish β†’ The application logs the error above and rejects the message.

  • Send the same payload from Postman using snake_case, and the message is successfully processed.

Expected behavior

Springwolf UI should honor the Jackson naming strategy configured in the application, generating payload fields in snake_case when property-naming-strategy=SNAKE_CASE is set.

Actual behavior

Springwolf UI always generates payloads in camelCase, causing deserialization errors when the backend expects snake_case.

Minimal reproducible example

Repository:
πŸ‘‰ https://github.com/florenciazabala/springwolf-property-naming-strategy

Image Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions