springmvc Rest Api 使用中遇到的问题

前端传入的参数后台接收不到

后台的controller代码如下:

@Controller
@RequestMapping("/user")
public class RegisterController {

    @Autowired
    private RegisterService registerService;

    @RequestMapping(value = "/register", method = RequestMethod.POST)
    @ResponseBody
    public AppResult register(User user) {
        AppResult result = registerService.register(user);
        return result;
    }

}

前端反馈得不到正确的结果,我就很纳闷,猜想是不是content-type指定上双方没有协商好。使用RestClient测试:


json.png

这里指定了content-type:application/json,果然后台接收到的loginName和password以及rId都为null。看来前端传递参数时已经指定了json格式。

这里决定对后台进行修改:User 前面加 @RequestBody即可,这样后台就可以接收 content-type:application/json格式参数;如果不加该修饰,默认是接收form表单post提交,即content-type:application/x-www-form-urlencoded

你可能感兴趣的:(springmvc Rest Api 使用中遇到的问题)