前端和后端 get 和 post 请求的传参和接受方式。
目录
post
请求体json传参
前端传参用data
1.使用map接收post传参和注解@RequestBody
@PostMapping("/bz")
public R getBondRating(@RequestBody Map<String,String> info) {
// map的get(key)获取
System.out.println(info.get("windCode")); //116682.SZ
List<BondRating> bondRating = bondRatingService.getBondRating(info.get("windCode"));
return R.result(bondRating);
}
2. 建立实体类和注解@RequestBody接收
实体类包含字段 private String windCode;
传参还是请求体,json传参
@PostMapping("/bz")
public R getBondRating(@RequestBody WindCodePageVO info) {
// 可直接实体get方法获取
List<BondRating> bondRating = bondRatingService.getBondRating(info.getWindCode());
return R.result(bondRating);
3.使用JSONObject 和注解@RequestBody接收
传参类型格式不变
@PostMapping("/bz")
public R getBondRating(@RequestBody JSONObject info) {
System.out.println(info.getString("windCode")+"----"); // 116682.SZ----
List<BondRating> bondRating = bondRatingService.getBondRating(info.getString("windCode"));
return R.result(bondRating);
}
@PostMapping("/z")
public R getBondRating(@RequestBody String info) {
JSONObject jsonObject = JSONObject.parseObject(info);
System.out.println(jsonObject.getString("windCode")+"----"); // 116682.SZ----
List<BondRating> bondRating = bondRatingService.getBondRating(jsonObject.getString("windCode"));
return R.result(bondRating);
}
url传参(xxx=zzz格式)
前端用params传参
示例1
post表单提交的默认方式
Content-Type
为application/x-www-form-urlencoded
以上三种方式均可以接收
后端可以直接用String name进行接收
如果传参名字不同需要使用@RequestParam(“前端参数名称”)
示例2.
上面三种方式传参用map,list接收必须使用@RequestParam注解才能接收到传参
示例3.
post前端用params传参,实体字段。后端直接用实体接收。
示例4
基础参数传递与get相似,名字对应即可。
url传参(zzz格式)
后端接收
get
前端用params传参
后端接收
两种接收方式都可以,后端用实体类接收get请求的时候。可以直接用实体接收,不用写任何注解
前端用请求用url传递
后端接收