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 }