SpringBoot(1) HTTP介面請求
阿新 • • 發佈:2018-12-14
一、HTTP請求配置講解
簡介:SpringBoot2.x HTTP請求註解講解和簡化註解配置技巧
1、@RestController和@RequestMapping是springMVC的註解,不是springboot特有的 2、@[email protected][email protected] 3、@[email protected][email protected][email protected]
二、介面工具PostMan用於介面除錯
基本功能,如圖
左側功能欄:History為近期的測試指令碼歷史記錄;Collections為以postman官網API為例的指令碼例項,也可以新建資料夾,用於放置不同測試指令碼的檔案集合;
主介面:可以選擇HTTP請求的方法,填寫URL、引數,cookie管理、指令碼儲存&另存為等功能。
三、HTTP介面GET請求
1 //測試http協議的get請求 2 @RestController 3 public class GetController { 4 5 private Map<String,Object> params = new HashMap<>(); 6 7 /** 8 * 功能描述:測試restful協議,從路徑中獲取欄位 9 * @param cityId10 * @param userId 11 * @return 12 * 注意:傳遞引數都用小寫 13 * 14 * 前端:localhost:8080/100/20 15 */ 16 @RequestMapping(path = "/{city_id}/{user_id}", method = RequestMethod.GET) 17 public Object findUser(@PathVariable("city_id") String cityId, 18 @PathVariable("user_id") String userId ){19 params.clear(); 20 21 params.put("cityId", cityId); 22 params.put("userId", userId); 23 24 return params; 25 26 } 27 28 /** 29 * 功能描述:測試GetMapping 30 * @param from 31 * @param size 32 * @return 33 * 34 * 前端:localhost:8080/v1/page_user1?from=0&size=10 35 */ 36 @GetMapping(value="/v1/page_user1") 37 public Object pageUser(int from, int size ){ 38 params.clear(); 39 40 params.put("from", from); 41 params.put("size", size); 42 43 return params; 44 45 } 46 47 /** 48 * 功能描述:預設值,是否必須的引數 49 * @param from 50 * @param size 51 * @return 52 */ 53 @GetMapping(value="/v1/page_user2") 54 public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int from, int size ){ 55 56 params.clear(); 57 params.put("from", from); 58 params.put("size", size); 59 60 return params; 61 62 } 63 64 65 /** 66 * 功能描述:bean物件傳參 67 * 注意:1、注意需要指定http頭為 content-type為application/json 68 * 2、使用body傳輸資料 69 * @param user 70 * @return 71 */ 72 @RequestMapping("/v1/save_user") 73 public Object saveUser(@RequestBody User user){ 74 params.clear(); 75 params.put("user", user); 76 return params; 77 } 78 79 /** 80 * 功能描述:測試獲取http頭資訊 81 * @param accessToken 82 * @param id 83 * @return 84 */ 85 @GetMapping("/v1/get_header") 86 public Object getHeader(@RequestHeader("access_token") String accessToken, String id){ 87 params.clear(); 88 params.put("access_token", accessToken); 89 params.put("id", id); 90 return params; 91 } 92 93 @GetMapping("/v1/test_request") 94 public Object testRequest(HttpServletRequest request){ 95 params.clear(); 96 String id = request.getParameter("id"); 97 params.put("id", id); 98 return params; 99 } 100 101 }
四、HTTP介面POST,PUT,DELETE請求
1 //測試http協議的post,del,put請求 2 @RestController 3 public class OtherHttpController { 4 5 private Map<String,Object> params = new HashMap<>(); 6 7 /** 8 * 功能描述:測試PostMapping 9 * @param accessToken 10 * @param id 11 * @return 12 */ 13 @PostMapping("/v1/login") 14 public Object login(String id, String pwd){ 15 params.clear(); 16 params.put("id", id); 17 params.put("pwd", pwd); 18 return params; 19 } 20 21 @PutMapping("/v1/put") 22 public Object put(String id){ 23 params.clear(); 24 params.put("id", id); 25 return params; 26 } 27 28 @DeleteMapping("/v1/del") 29 public Object del(String id){ 30 params.clear(); 31 params.put("id", id); 32 return params; 33 } 34 35 }