SpringBoot HTTP接口请求

Posted platycoden

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 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 }

 

以上是关于SpringBoot HTTP接口请求的主要内容,如果未能解决你的问题,请参考以下文章

springboot使用SpringBoot基础HTTP接口GET|POST|DELETE|PUT请求

【SpringBoot】http请求注解之Post请求

2SpringBoot接口Http协议开发实战8节课(1-5)

几行代码,搞定 SpringBoot 接口恶意刷新和暴力请求!

springboot 跨域处理示例代码

springboot先通过http请求后然后再查数据库,导致数据丢失