赞
踩
见网页侧边目录树可索引查看
注:{name} 与 注解配置使用
curl-linux
curl --location --request GET 'http://localhost:8090/test/requestTest/pathReq/aliens' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: <Content-Type>'
后端
@GetMapping("pathReq/{name}")
public ResponseEntity pathReq(@PathVariable String name) {
System.out.println("name: "+name);
return ResponseEntity.success();
}
注:request对象(HttpServletRequest)与 @RequestParam注解都能获取到参数,需要对照名称获取
注:@RequestParam(name = "eye", required = false)
如果没有填写required=false属性,默认必填,若属性为可选项,需要显示设置为false
curl-linux
curl --location --request GET 'http://localhost:8090/test/requestTest/paramReq?name=<name>&name2=<name2>&eye=<eye>' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: <Content-Type>'
后端
@GetMapping("paramReq")
public ResponseEntity paramReq(HttpServletRequest request, @RequestParam String name, @RequestParam String name2, @RequestParam(name = "eye", required = false) String color) {
System.out.println("name: "+name);
System.out.println("name2: "+name2);
System.out.println("eye: "+color);
System.out.println("req.name: "+request.getParameter("name"));
System.out.println("req.name2: "+request.getParameter("name2"));
System.out.println("req.color: "+request.getParameter("eye"));
return ResponseEntity.success();
}
注:请求参数预存
预存方法的触发会在每一次请求调用时都会执行,不论是哪一个api接口被调用,需注意
注:发起请求后先预存到request对象中,再通过@RequestAttribute获取对应属性名称的内容
curl-linux
curl --location --request GET 'http://localhost:8090/test/requestTest/afterReqAttrPreGet?name=<name>' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: <Content-Type>'
后端
// 放置attr属性值
@ModelAttribute
public ResponseEntity personModelAttr(HttpServletRequest request) {
request.setAttribute("myApplicationName", "fsx-application");
return ResponseEntity.success();
}
@GetMapping("afterReqAttrPreGet")
public ResponseEntity afterReqAttrPreGet(@RequestAttribute("myApplicationName") String name, HttpServletRequest request) {
System.out.println("myApplicationName: "+name);
return ResponseEntity.success();
}
注:先做这3个注解的测试。还有@RequestBody是最常用的,这种也是非常简单。后期有更多使用方式就在这里继续更新了。
注:虽然注解好用,但是表面光鲜的背后还是离不开强大的支持。使用的java高级特性反射做后端。有兴趣可以进行阅读。后期还会对《spring技术内幕》做文章。有兴趣也可以参考阅读一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。