springboot學習二:常用http請求
阿新 • • 發佈:2018-12-18
傳送門:springboot開發學習準備
通過上一篇的準備,我們完成了一個最基本的springboot web專案搭建,這次主要是瞭解springboot常用的http介面開發方式
一. 安裝postman
為了測試各種請求方式,這裡使用谷歌外掛 postman,這個工具的作用就是實現各種請求傳送方式.如果你有其它測試工具可以跳過
官網下載: https://www.getpostman.com, 點選 download app,選擇對應的版本下載
二. 常用http請求接收方式
1.restful風格get請求
@GetMapping(path = "test1/{user_name}/{password}") Object test1(@PathVariable("user_name") String userName, @PathVariable String password){ Map map = new HashMap(); map.put("userName",userName); map.put("password",password); return map; }
- @GetMapping是@RequestMapping子類,這裡相當於 @RequestMapping(path = “/{user_name}/{password}”,method = RequestMethod.GET)
相對的還有 @PostMapping @PutMapping 和#DeleteMapping - @PathVariable 接收引數標籤,可以設定value別名,不寫value值預設按引數名接收
- 可以在{}前面新增固定值防止資料洩露如 @GetMapping(path = “test1/aaa{user_name}/bbb{password}”)
2. 引數在請求行
數在請求行後以 ?key1=value1&key2=value2 形式提交
@RequestMapping("test2")
Object test2(@RequestParam(defaultValue = "name") String userName,@RequestParam(required = true) String password,String age){
Map map = new HashMap();
map.put("userName",userName);
map.put("password",password);
map.put("age",age);
return map;
}
- @RequestMapping表示請求方式無限制(可以是get或post或其它)
- @RequestParam 對引數進行設定,不寫預設對映引數名 屬性:name和value 都是配置對映名, defaulValue 引數為空或不傳時的預設值, required=true 表示引數必填
3. 使用封裝類接收
@RequestMapping("test3")
Object test3(@RequestBody User user){
return user;
}
- user類成員變數必須與引數一致,並提供set/get方法
- 使用 @RequestBody 自動封裝物件
- 請求方式必須使用head格式Content-Type: application/json
4.使用HttpServletRequest獲取請求引數
@RequestMapping("test5")
Object test5(HttpServletRequest request){
Map map = new HashMap();
String userName = request.getParameter("userName");
String password = request.getParameter("password");
map.put("userName",userName);
map.put("password",password);
return map;
}
5. 獲取http頭資訊head
@RequestMapping("test4")
Object test4(@RequestHeader("Content-Type") String headMessage,@RequestHeader("token") String token,String id){
Map map = new HashMap();
map.put("headMessage",headMessage);
map.put("token",token);
map.put("id",id);
return map;
}
總結:如果專案使用restful風格,則使用方式1,常用的介面開發模式是方式2和方式4,相對的更加靈活方便