【发布时间】:2014-09-22 11:58:08
【问题描述】:
所以我正在尝试使用 REST 服务将 AngularJS 前端连接到 Java Spring 后端。
我的 DELETE 请求不断收到以下错误(注意扬声器?id=) - 为什么它生成扬声器?id= 而不是扬声器/?
DELETE http://localhost:8082/rest/speaker?id=54200b6b772f1e7b0688307b 405 (Method Not Allowed)
代码如下:
Java:
@RequestMapping(method = RequestMethod.DELETE, value = "/{id}")
public void delete(@PathVariable String id) {
speakerService.delete(id);
}
Angular JS 服务
this.delete = function (id, callback) {
SpeakerResource.delete({ id: id }, function () {
callback();
});
}
Angular JS 工厂
app.factory('SpeakerResource', function ($resource) {
return $resource('rest/speaker/:speakerId',
{
speakerId: '@speakerId'
},
{
'update': { method: 'PUT' }
},
{
'delete': { method: 'DELETE', params: {id: '@speakerId' } }
}
如果我使用 $http 语句,那么一切正常,但显然我想坚持使用工厂,因为 PUT/POST 方法工作正常!
$http.delete('http://localhost:8080/rest/speaker/' + data.id);
干杯,
【问题讨论】:
标签: java javascript angularjs spring rest