Почему поля верблюда не распознаются API? [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Почему поля верблюда не распознаются API? [закрыто]

Сообщение Anonymous »

Я определил свой класс запроса like:

Код: Выделить всё

@Data
@AllArgsConstructor
@NoArgsConstructor
public class SampleRequest {

@NotBlank
private String firstName;

private String middleName;

@NotBlank
private String lastName;
}
контроллер as:

Код: Выделить всё

    @PostMapping(path = "mydetails",  consumes = {MediaType.APPLICATION_JSON_VALUE})
public DeferredResult saveMyDetails(@Validated @RequestBody SampleRequest sampleRequest) {

// some logic here

return detailsResponse;
}
Когда я отправляю свой запрос от почты as:
{
"firstName":"John",
"middleName":"For",
"lastName":"Doe",
}
< /code>
Значение всех полей, полученных на контроллере, является нулевым. После расследования я обнаружил, что это каким-то образом не принимает поля в верблюжьем обмене, скорее, это принимает с подчеркиванием. Итак, я попытался нанести удар по API с форматом ниже, и он работал: < /p>
{
"first_name":"John",
"middle_name":"For",
"last_name":"Doe",
}
< /code>
Итак, почему это так? Какую бы моду мы определили в нашем классе запроса, она должна быть то же самое при отправке запроса от почтальона или со стороны приложения. Почему это работает только тогда, когда мне нужно отправлять с подчеркиванием вместо верблюжьего?


Подробнее здесь: https://stackoverflow.com/questions/755 ... zed-by-api

Вернуться в «JAVA»