在springmvc里使用 @ResponseBody 能够返回JSON. 一样的使用 @RequestBody 能够接收JSON.
在Controller方法带有
@RequestBody
注解的参数,意味着请求的HTTP消息体的内容是一个JSON.
springboot默认使用Jackson来处理序列化和反序列化.spring
User model:set, get, toString方法json
public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [name=" + name + ", age=" + age + "]"; } }
Controller:springboot
@Controller public class IndexController { @RequestMapping(path="/testjson.json") @ResponseBody public String index(@RequestBody User user){ System.out.println(user); return "用户名 "+user.getName()+" 年龄 "+user.getAge(); } }
使用curl工具:mvc
curl -XPOST 'http://127.0.0.1:8080/testjson.json' -H 'content-Type:application/json' -d' { "name":"scott", "age":"20" } '
上述curl命令,将会发起一个POST请求,用 -H 参数设置HTTP头用 -d 参数设置请求体内容。curl命令在Linux和Mac系统是内置的,在Windows系统下则须要本身安装。app
控制台打印:curl
User [name=scott, age=20]
命令行返回:ide