当前位置: 首页 > 知识库问答 >
问题:

Spring MVC-REST Api,尝试发布时不断收到400个错误请求

诸葛雅达
2023-03-14

我有一个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);

    }

我应该使用< code>@RequestBody用JSON发送请求,如下所示:

{
"objectId":100
}

但我得到了一个400错误,奇怪的是我的记录器<代码>记录器。调试(“控制器命中”)它没有打印在日志中。。。

共有1个答案

端木乐语
2023-03-14

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

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

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

此外,考虑使用DeleteMap而不是PostMap来删除对象。

 类似资料: