Spring Boot Open Api - без учета регистра? - PullRequest
0 голосов
/ 03 августа 2020

У меня следующая проблема:

У меня конечная точка с телом запроса, например ContactRequest:

public class ContactRequest{
  private String message;
  private Object result;
}

НО эта конечная точка вызывается какой-то другой службой с полезной нагрузкой JSON с верхним case:

{
  "Message": "Some text",
  "Result": "Resultsdsddwd"
}

Я пытаюсь использовать шаблон в openapi.yml, но думаю, что это неправильное решение моей проблемы, потому что в коде я использую объект ContactRequest с полями нижнего регистра ...

 ContactRequest:
      pattern: ^[A-Za-z\s_-]+$
      type: object
      required:
        - id
        - status
        - message

Моя конечная точка:

public CommandResponse save(
       ContactRequest contactRequest){
...
}

Была ли у кого-то похожая проблема? Не могу изменить тело запроса

PS. Может быть, есть что-то вроде @JsonAlias ​​в файле генератора OpenApi.yml?

UPDATE Может быть, мне использовать глобальные настройки, чтобы установить нечувствительность к регистру?

Мой файл build.gradle:

implementation group: 'org.openapitools', name: 'jackson-databind-nullable', version: '0.2.1'
    implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.3.6'

1 Ответ

0 голосов
/ 03 августа 2020

Думаю, вы можете попробовать это решение, если оно работает в вашем случае:

@JsonNaming(PropertyNamingStrategy.LowerCaseStrategy.class)
public class ContactRequest{
  private String message;
  private Object result;
}

Встроенные стратегии: KEBAB_CASE, LOWER_CASE, SNAKE_CASE, UPPER_CAMEL_CASE

https://www.baeldung.com/jackson-advanced-annotations

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...