SpringBoot(1) HTTP接口請求


一、HTTP請求配置講解

簡介:SpringBoot2.x  HTTP請求注解講解和簡化注解配置技巧

1、@RestController和@RequestMapping是springMVC的注解,不是springboot特有的
2、@RestController=@Controller+@ResponseBody
3、@SpringBootApplication=@Configuration+@EnableAutoConfiguration+@ComponentScan

二、接口工具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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM