【发布时间】:2011-09-10 16:17:21
【问题描述】:
我正在尝试将带有 PUT 的参数从 JavaScript 发送到 Spring 应用程序。这是 Spring 控制器中的 @RequestMapping:
@RequestMapping(value = "toggle-paid-action", method = RequestMethod.PUT)
@ResponseBody
public final String togglePaid(@RequestParam final int year,
@RequestParam final String docType, @RequestParam final int number) {
这里是应该发送这些参数的 JavaScript sn-p。
Ext.Ajax.request({
params: {year: year, docType: docType, number: number},
url: 'toggle-paid-action',
method: 'PUT',
但是,我每次都会收到“400 Bad Request”,并说明“客户端发送的请求在语法上不正确 ()”。
如果我使用 Firebug 进行检查,会有一个包含我所有参数的 PUT 选项卡,并且参数拼写正确,因为如果我从 PUT 切换到 POST 双方都可以正常工作。
我想知道可能是什么问题,PUT 是否仅限于 @PathVariable 参数,或者它也可以发送类似 POST 的参数?
【问题讨论】:
-
你检查过this question吗?它建议使用
String或模型类而不是int/Integer以及一些有关默认方法的信息。
标签: java javascript spring extjs