springboot 接收JSON

Controller接收JSON

在springmvc裏使用 @ResponseBody 能夠返回JSON.
一樣的使用 @RequestBody 能夠接收JSON.

Controller方法帶有@RequestBody註解的參數,意味着請求的HTTP消息體的內容是一個JSON.
springboot默認使用Jackson來處理序列化和反序列化.spring


建一個帶springmvc的 springboot項目

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

圖片描述

相關文章
相關標籤/搜索