原文地址:http://lierabbit.cn/2018/01/1...java
postman:一個接口測試工具
建立一個新工程git
選擇web
不會的請看Spring Boot快速入門(一):Hello Spring Bootgithub
新建java類RequestCtrlweb
@RestController//這是一個控制器並只返回數據不尋找視圖 public class RequestCtrl { @RequestMapping("/")//將本方法映射到/ public String all(String name, Integer age)//接受2個參數,name和age { return "這裏是all\n" + "name: " + name + "\n" + "age: " + age; } }
requestMapping的做用能夠簡單理解爲給方法加個地址,讓別人能訪問spring
經過源碼能夠看出@RestController是@Controller和ResponseBody的結合註解
@Controller 代表這是一個控制器,將會返回數據或者頁面
@ResponseBody 代表只會返回數據,Spring Boot默認將數據使用jaskson序列化爲json返回
JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式,常見表現形式爲鍵值對{key:value},例如{name:"lierabbit",age:20},字符串和數字直接返回
啓動程序,打開postman
對http://localhost:8080發起get請求json
發起帶參數的請求app
使用post請求工具
@GetMapping("/get")//將本方法映射到/get,且只能用get方式訪問 public String get(String name, int age)//接受2個參數,name和age { return "這裏是get\n" + "name: " + name + "\n" + "age: " + age; }
使用get方式訪問http://localhost:8080/get?name=lierabbit&age=20post
嘗試使用post訪問,將獲得405異常測試
@PostMapping("/post")//將本方法映射到/post,且只能用post方式訪問 public String post(String name, int age)//接受2個參數,name和age { return "這裏是post\n" + "name: " + name + "\n" + "age: " + age; }
使用post方式訪問
嘗試使用get訪問,獲得405異常
@PutMapping("/put")//將本方法映射到/put,且只能用put方式訪問 public User put(@RequestBody User user)//接受一個user實體 { user.setName("名字已經被修改:" + user.getName()); user.setAge(user.getAge() + 1); return user; } @RequestBody 表示接受一個user實體(user json)
返回User,會被spring boot自動序列化爲json
@DeleteMapping("/delete")//將本方法映射到/delete,且只能用delete方式訪問 public User delete(@RequestBody User user)//接受一個user實體 { user.setName("這個用戶將會被刪除:" + user.getName()); user.setAge(user.getAge() + 1); return user; }
@PatchMapping("/patch")//將本方法映射到/patch,且只能用patch方式訪問 public User pathch(@RequestBody User user)//接受一個user實體 { user.setName("只更名稱:" + user.getName()); return user; }
源碼地址:https://github.com/LieRabbit/...
原文地址:http://lierabbit.cn/2018/01/1...