Ошибка 400 при выполнении Spring Rest Post - PullRequest
1 голос
/ 12 августа 2011

У меня есть веб-сервис Spring, который я должен сделать пост.Это текущая подпись.

ScreenResult sendScreenAsPostcard(@RequestParam String listOfRecipients, @RequestParam String message, @RequestParam String userId, @RequestParam String captcha, @RequestParam MultipartFile image)

Приложение Flash вызывает эту функцию.Я использую интерфейс и использую Firebug для просмотра параметров.Когда я прохожу это.Я получаю

400 Bad Request.

Когда я изменяю подпись просто для того, чтобы убедиться, что могу ударить по ней все,

ScreenResult sendScreenAsPostcard(@RequestBody string)

и напечатаю строку.Он попадает в сервис, и я верю, что он способен читать параметры, хотя я не уверен, что он правильно читает составной файл.У меня вопрос, что я делаю не так?

Приложение Flash передает JSON.

Это релевантная часть тела.

Content-type: application/json Accept: application/json
Content-Disposition: form-data; name="message"


{"listOfRecipients":"","message":"","captcha":"","image":"RldTCBf+AAB4AAXcAAARlAAADAEAfxEEAAAACAAAAL8W4f0AAAEA2/0AAAAA/9n/2P/Y/+AAEEpGSUYAAQIBAEgASAAA/","userId":""}

Ответы [ 2 ]

0 голосов
/ 04 февраля 2015

У меня была похожая ошибка, и я обнаружил, что установил поле в строку, которая должна быть числом.После того, как я исправил это, пост стал успешным.:)

0 голосов
/ 12 августа 2011

@RequestParam - это параметры HTTP GET / POST. И у вас нет таких параметров, поэтому ваш запрос - «неверный запрос». С другой стороны, ваше тело запроса может быть преобразовано в объект (это JSON), поэтому второй из них работает.

Вам нужен класс с полями listOfRecipients, message, captcha, image и .. handle(@RequestBody YourObject obj)

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