Spring MVC - отправленный клиентом запрос был некорректно - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть простой контроллер:

@RequestMapping(method = { RequestMethod.POST })
public ResponseEntity<MyResponse> print(@RequestBody final RequestModel request) throw ApiException {
    return null;
}

А в моей RequestModel:

class RequestModel {
    private String name;
    private CustomData data;
}

CustomData:

class CustomData {
    private String data;
}

Когда я делаю POST-запрос без поля «data», оно работает. Но если я добавлю поле «данные», я получу 400. Запрос, отправленный клиентом, был искусственно некорректным.

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

Ваш опубликованный JSON должен выглядеть примерно так:

{
   "name":"Luke",
   "data": {
         "data":"I am your father"
    }
}

OBS: если вы используете Postman, установите заголовок: ключ: Content-Type, значение: application / json

Вы должны указать конечную точку: Пример:

@PostMapping("/data")

Вместо

@RequestMapping(method = { RequestMethod.POST })

Если вы используете порт по умолчанию, попробуйте еще раз отправить сообщение на:

http://localhost:8080/data

OBS: RequestModel и CustomerData должны иметь методы получения и установки.

0 голосов
/ 16 сентября 2018

O не знаю Если вы написали весь код, но tou должен реализовать сериализуемые и записывать сеттеры и геттеры.

Но, отвечая на ваш вопрос, вы должны аннотировать свои поля с помощью @JsonProperty, чтобы указать необходимый флаг.

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