springboot前后端参数传递⽅式使⽤spring boot2X做后端,postman做前端测试
1.获取json字符串
@RestController
public class Demo {
@RequestMapping("test")
public Result test(@RequestBody JSONObject obj) {
return  Result.success(200,obj);
}
}
测试
2.获取出传⼊的参数值
@RestController
public class Demo {
@RequestMapping("test")
public Result test(@RequestParam(value = "name",required = false) String name,@RequestParam(value = "id") Integer id) {        MyData my = new MyData();
my.setId(id);
my.setName(name);
return  Result.success(200,my);
}
}
测试
3.获取路径中的参数值jsessionid
(1)通过PathVariable注解来绑定请求路径的参数
@RestController
public class Demo {
@RequestMapping(value = "/test/{id}/{name}")
public Result test(@PathVariable(value = "id") Integer id, @PathVariable(value = "name") String name) {        MyData my = new MyData();
my.setId(id);
my.setName(name);
return  Result.success(200,my);
}
}
测试
(2)指定前端url请求参数名称与⽅法名⼀致
@RestController
public class Demo {
@RequestMapping(value = "test")
public Result test(Integer id,String name) {
MyData my = new MyData();
my.setId(id);
my.setName(name);
return  Result.success(200,my);
}
}
(3)通过HttpServletRequest来获取前端页⾯参数@RestController
public class Demo {
@RequestMapping(value = "test")
public Result test(HttpServletRequest request) {
MyData my = new MyData();
my.setId(Integer.Parameter("id")));        my.Parameter("name"));
return  Result.success(200,my);
}
}
(4)通过RequestParam注解来获取
@RestController
public class Demo {
@RequestMapping(value = "test")
public Result test(@RequestParam(defaultValue = "0") Integer id,@RequestParam(defaultValue = "0")String name) {
MyData my = new MyData();
my.setId(id);
my.setName(name);
return  Result.success(200,my);
}
}
4.获取请求的报⽂头
@RestController
public class Demo {
@RequestMapping(value = "test")
public Result test(@RequestHeader Map<String, String> map) {
return  Result.success(200,map);
}
}
5.请求中的cookie
@RestController
public class Demo {
@RequestMapping(value = "test")
public Result test(@CookieValue(value = "JSESSIONID", required = true) String jsessionId,@CookieValue(value = "name", required = true) String name) {
return  Result.success(200,"JSESSIONID="+jsessionId+",name="+name);
}
}
5.获取矩阵变量绑定的参数
矩阵变量
矩阵变量可以出现在任何路径⽚段中,每⼀个矩阵变量都⽤分号(;)隔开,多个值可以⽤逗号隔开
Spring4.0已经全⾯⽀持Matrix Variable,该注解似的开发⼈员能够将请求中的矩阵变量绑定到处理器的⽅法参数中spring  boot 默认是⽆法使⽤矩阵变量绑定参数的。需要覆盖WebMvcConfigurer中的configurePathMatch⽅法;
import t.annotation.Configuration;
import org.springframework.fig.annotation.*;
import org.springframework.web.util.UrlPathHelper;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
UrlPathHelper urlPathHelper=new UrlPathHelper();
urlPathHelper.setRemoveSemicolonContent(false);
configurer.setUrlPathHelper(urlPathHelper);
}
}
使⽤矩阵变量
@RestController
public class Demo {
@RequestMapping(value="test/{param}")
public Object test(@MatrixVariable(pathVar="param",value="color")String[] tt){
for (String s : tt) {
System.out.println(s);
}
return Result.success(200,tt);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。