我有一个Spring Web服务,我必须做一个帖子。这是当前的签名。
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":""}
答案 0 :(得分:0)
我有类似的错误,发现我将字段设置为字符串,应该是一个数字。我纠正后,帖子成功了。 :)
答案 1 :(得分:-1)
@RequestParam
与HTTP GET / POST参数有关。并且您没有这样的参数,因此您的提交是“不良请求”。另一方面,你的请求体可以转换为一个对象(它是JSON),所以第二个工作。
您需要的是一个包含字段listOfRecipients
,message
,captcha
,image
并拥有.. handle(@RequestBody YourObject obj)