Spring REST for DELETE请求方法

我的控制器中有以下方法

@RequestMapping(value = "processPurchase/{poid}", method = RequestMethod.DELETE)

public String processOrder(@PathVariable int poid) {

// do some processing

return acceptPurchaseForm;

}

我的HTML

<form id="purchase-list-form" class="form-horizontal" action="/MyNewApp/processPurchase/" method="post">

<input type="hidden" name="_method" value="delete">

<input type="hidden" name="poid" value="">

有了以上我仍然得到以下错误

WARN : org.springframework.web.servlet.PageNotFound - Request method 'DELETE'

not supported

任何帮助表示赞赏。

回答:

首先,假设您在web.xml中配置了HiddenHttpMethodFilter。需要将_method带值的delete转换为DELETE

RequestMethod

其次,poid正在请求的主体中传递,但是在您的控制器中,您希望它在URL本身中传递。这也许可以解释为什么Spring无法映射请求。

编辑1:

要传递poidURL,必须在生成HTML时将其包含在表单操作中。这取决于您的视图技术(我使用Freemarker),但是您将需要执行以下操作:

<form action="/MyNewApp/processPurchase/${poid}" method="post">

假设poid已写入绑定到您的视图的模型中。

以上是 Spring REST for DELETE请求方法 的全部内容, 来源链接: utcz.com/qa/412852.html

回到顶部