Spring MVC - REST Api,在尝试POST时不断收到400 Bad Request

时间:2017-07-25 15:03:07

标签: spring rest

我有一个REST api服务,应该接收POST调用。

我使用POSTMAN来测试它们,但是我一直收到400错误请求错误,没有正文,也许我正在构建糟糕的控制器......

这是控制器

@PostMapping("/object/delete")
    public ResponseEntity<?> deleteObject(@RequestBody long objectId) {
        logger.debug("controller hit");
        Object o = service.findByObjectId(objectId);
        if(o!=null){

        service.deleteObject(object);

        return new ResponseEntity<>(HttpStatus.OK);
                   }

        return new ResponseEntity<>(HttpStatus.NOT_FOUND);

    }

使用@RequestBody我应该以JSON方式发送请求:

{
"objectId":100
}

但是我收到400错误,奇怪的是我的记录器logger.debug("controller hit");没有打印在日志中......

1 个答案:

答案 0 :(得分:0)

发送{ "objectId":100 }会导致在java方法中接收到具有objectId属性的对象X.

如果您只需要发送ID,则可以使用@PathVariable

@PostMapping("/object/{id}/delete")
public ResponseEntity<?> deleteObject(@PathVariable("id") long objectId) {

另外,请考虑使用DeleteMapping代替PostMapping删除对象。