Required request body is missing问题解决(RestFul接口编写)

今天在写restful接口时,发现的一个小问题,代码如下:

// An highlighted block
@RestController
@RequestMapping("/register")
public class RegisterController {

    @Autowired
    private RegisterService registerService;

    @PostMapping
    public JsonResp create(@RequestBody Register register){
        int num = registerService.insertSelective(register);
        JsonResp resp = CommonUtils.returnResp(num);
        return resp;
    }
}

测试数据发送:
在这里插入图片描述

报错:Required request body is missing: public dag.util.JsonResp com.dag.controller.RegisterController.create(com.dag.dao.entity.Register)]

解决

@RequestBody是将前端发送的json格式数据封装到我们的对象中,照理来说应该是没有问题的,几经尝试,最后发现问题所在:我们这里传值仍然使用的是K V对,并不是Json格式的数据,不必使用该注解解析Json数据,最后去掉@RequestBody注解就OK了。
最后的代码:

// An highlighted block
@RestController
@RequestMapping("/register")
public class RegisterController {

    @Autowired
    private RegisterService registerService;

    @PostMapping
    public JsonResp create(Register register){
        int num = registerService.insertSelective(register);
        JsonResp resp = CommonUtils.returnResp(num);
        return resp;
    }
}

PS:针对@RequestBody的应用,应该是前端对发送数据进行了Json格式化才用这个注解,
如JSON.stringify(register)。

发布了16 篇原创文章 · 获赞 6 · 访问量 819

猜你喜欢

转载自blog.csdn.net/weixin_43838446/article/details/103808584
今日推荐