在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