1. 程式人生 > >SpringBoot(1) HTTP介面請求

SpringBoot(1) HTTP介面請求

一、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 cityId
10 * @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 }