教育网站设计,用模板做的网站不好优化,弄个直播平台大概要多少钱,南宁网站建设 超博网络SpringMVC中Controller层获取前端请求参数的几种方式 1、SpringMVC自动绑定2、使用RequestParam 注解进行接收3、RequestBody注解#xff08;1#xff09; 使用实体来接收JSON#xff08;2#xff09;使用 Map 集合接收JSON#xff08;3#xff09; 使用 List集合接收JSO… SpringMVC中Controller层获取前端请求参数的几种方式 1、SpringMVC自动绑定2、使用RequestParam 注解进行接收3、RequestBody注解1 使用实体来接收JSON2使用 Map 集合接收JSON3 使用 List集合接收JSON数组 4、PathVariable 注解 1、SpringMVC自动绑定
在controller层方法中定义形参若请求时参数名、参数类型相同则SpringMVC会自动绑定。 /*** description: 测试springmvc自动绑定* author: Vinci* date: 2023/8/23 16:32**/GetMapping(/automaticallyBindParameters)public String automaticallyBindParameters(String message,String test){return messagemessage ,testtest;}下面使用PostMan进行测试发现无论是将参数直接拼接到URL还是写在form-data里只要参数类型和参数名与方法形参相同则会自动绑定
2、使用RequestParam 注解进行接收
当controller层中的方法形参名与请求参数名不同时可使用RequestParam进行映射 RequestParam中的value属性指定请求参数名 required属性指定该参数是否是必须传入的默认是true必须传入 defaultValue属性来指定当前参数的默认值当形参没有传入值时生效 /*** description: 测试RequestParam注解* author: Vinci* date: 2023/8/24 8:28**/GetMapping(/testRequestParam)public String testRequestParam(RequestParam(value number,required false,defaultValue 1) int i){return number i;}接下来使用PostMan进行测试发现传值则接收到值不传值则使用默认值 3、RequestBody注解
RequestBody 注解 可将 JSON数据 转为 Bean对象, 与ResponseBody注解作用相反
1 使用实体来接收JSON
创建实体对象
Data
NoArgsConstructor
AllArgsConstructor
public class User {private String id;private String username;private String password;}使用RequestBody接收 /*** description: 使用实体接收JSON* author: Vinci* date: 2023/8/24 9:01**/GetMapping(/testReceiveJson)public String testReceiveJson(RequestBody User user){return user.toString();}PostMan测试结果
2使用 Map 集合接收JSON /*** description: 使用Map接收JSON* author: Vinci* date: 2023/8/24 9:15**/GetMapping(/testMapReceiveJson)public String testMapReceiveJson(RequestBody MapString,Object maps){return maps.toString();}PostMan测试结果
3 使用 List集合接收JSON数组 /*** description: 使用List集合接收JSON数组* author: Vinci* date: 2023/8/24 9:17**/GetMapping(/testListJson)public String testListJson(RequestBody ListUser users){return users.toString();}PostMan测试结果
4、PathVariable 注解
可以使用PathVariable注解获取url地址栏指定位置参数url中的参数名需和controller形参一致或是使用PathVariable注解的value属性进行映射在写XXXMapping注解中的url时参数名需要使用 { } 括起来 /*** description: 使用PathVariable注解获取地址栏指定位置参数* author: Vinci* date: 2023/8/24 9:32**/GetMapping(/testGetAddressBarParameters/{id})public String addressBarParameters(PathVariable int id){return String.valueOf(id);}PostMan测试结果