springmvc解析json字符串(使用RequestBody)
起因:
第一次写ssm项目,因为登录的话前端给后端传的参数都是以json字符串形式传递的,包含userName、password、role等等信息,但是我没有把这些信息封装成一个javabean,所以不能直接用
public ResponseEntity<String> login(@RequestBody User use);
因为我压根就没有User这个JavaBean,所以肯定不能这么用。
然后我就想着,试试@RequestBody能不能解析json的时候直接解析成基本类型,就不用自动封装成对象了,所以我尝试了一下的方案,但是还是以失败告终
public ResponseEntity<String> login(@RequestBody String userName, @RequestBody String password);
解决方案
解决方案其实很简单,既然没有对应的Javabean对象可以封装,那么可以封装成map来间接使用啊
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseEntity<String> login(@RequestBody Map info){
// todo 解析用户名、密码、角色
String userName = (String) info.get("userName");
String password = (String) info.get("password");
String role = (String)info.get("role");
.............
}