JavaScript代码:
function deleteMarks(list){
$http.post('/api/marks/delete/all',list).then(
function(response){
refresh();
},function(response){
error(response.data.error)
}
);
}
控制器代码:
@PostMapping("/delete/all")
public void deleteMarks(@RequestBody @Validated List<Long> request) {
marksService.deletemarks(request);
}
服务代码:
public void deletemarks(List<Long> list) {
for (Long id : list) {
marksRepository.delete(id);
}
}
我收到以下错误
angular.js:12759 POST http://localhost:8080/api/marks/delete/all 400()
有人可以告诉我在哪里犯了错误。
答案 0 :(得分:0)
400错误代码显示错误请求。很可能您的请求结构与预期的请求结构不匹配。
答案 1 :(得分:0)
如果您要通过&#34;标记列表&#34;来自你的JS。控制器处理程序应为:
@PostMapping("/delete/all")
public void deleteMarks(@RequestBody @Validated List<Marks> request)
{
marksService.deleteMarks(request);
}
如果您只传递Marks&#34;的&#34; ID,则处理程序方法应为:
@PostMapping("/delete/all")
public void deleteMarks(@RequestBody @Validated List<String> request)
{
marksService.deleteMarks(request);
}
同样在您的服务代码中,如果您使用的是JpaRepository的delete
方法,则它会将一个Mark
对象作为参数,因此您必须在您的服务上运行一个循环标记列表,并为每个标记调用delete
。