一、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 @RestController3 public classGetController {4
5 private Map params = new HashMap<>();6
7 /**
8 * 功能描述:测试restful协议,从路径中获取字段9 *@paramcityId10 *@paramuserId11 *@return
12 * 注意:传递参数都用小写13 *14 * 前端:localhost:8080/100/2015 */
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 returnparams;25
26 }27
28 /**
29 * 功能描述:测试GetMapping30 *@paramfrom31 *@paramsize32 *@return
33 *34 * 前端:localhost:8080/v1/page_user1?from=0&size=1035 */
36 @GetMapping(value="/v1/page_user1")37 public Object pageUser(int from, intsize ){38 params.clear();39
40 params.put("from", from);41 params.put("size", size);42
43 returnparams;44
45 }46
47 /**
48 * 功能描述:默认值,是否必须的参数49 *@paramfrom50 *@paramsize51 *@return
52 */
53 @GetMapping(value="/v1/page_user2")54 public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int from, intsize ){55
56 params.clear();57 params.put("from", from);58 params.put("size", size);59
60 returnparams;61
62 }63
64
65 /**
66 * 功能描述:bean对象传参67 * 注意:1、注意需要指定http头为 content-type为application/json68 * 2、使用body传输数据69 *@paramuser70 *@return
71 */
72 @RequestMapping("/v1/save_user")73 publicObject saveUser(@RequestBody User user){74 params.clear();75 params.put("user", user);76 returnparams;77 }78
79 /**
80 * 功能描述:测试获取http头信息81 *@paramaccessToken82 *@paramid83 *@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 returnparams;91 }92
93 @GetMapping("/v1/test_request")94 publicObject testRequest(HttpServletRequest request){95 params.clear();96 String id = request.getParameter("id");97 params.put("id", id);98 returnparams;99 }100
101 }
四、HTTP接口POST,PUT,DELETE请求
1 //测试http协议的post,del,put请求
2 @RestController3 public classOtherHttpController {4
5 private Map params = new HashMap<>();6
7 /**
8 * 功能描述:测试PostMapping9 *@paramaccessToken10 *@paramid11 *@return
12 */
13 @PostMapping("/v1/login")14 publicObject login(String id, String pwd){15 params.clear();16 params.put("id", id);17 params.put("pwd", pwd);18 returnparams;19 }20
21 @PutMapping("/v1/put")22 publicObject put(String id){23 params.clear();24 params.put("id", id);25 returnparams;26 }27
28 @DeleteMapping("/v1/del")29 publicObject del(String id){30 params.clear();31 params.put("id", id);32 returnparams;33 }34
35 }