2017-07-25 35 views
0

我有一个REST api服务,它应该接收POST调用。Spring MVC - REST Api在尝试POST时不断收到400错误请求

我使用邮递员测试,但我不断收到一个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");它不打印在日志中...

+0

检查你的内容类型标题是否为“application/json”。 –

回答

0

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

如果你只需要发送一个id,你可以使用@PathVariable

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

而且,考虑使用的DeleteMapping代替PostMapping删除对象。

+0

谢谢,这解决了我的问题 – besmart

相关问题