Required String parameter is not present

出错部分代码: 

 public OverviewASRResponse getOverviewASR(@UserRole Integer role, @UserId Integer userId , @RequestParam(value="start_date") String start_date){
}

但是因为希望前端传给后端的是JOSN串,所以应该使用@RequestBody来接收数据,使用map的key-value形式去获取json传送过来的数据。

改正后:

    public OverviewASRResponse getOverviewASR(@UserRole Integer role, @UserId Integer userId , @RequestBody Map params){
        OverviewASRResponse response = new OverviewASRResponse();
   
        return response;
    }

总结:

① form-data、x-www-form-urlencoded:不可以用@RequestBody;可以用@RequestParam。这两种方式的时候没有json字符串部分。

② application/json:json字符串部分可以用@RequestBody;url中的?后面参数可以用@RequestParam

你可能感兴趣的:(Debuging)