前端向后端传入json 后台怎么接收(params呢)
后台-插件-广告管理-内容页头部广告(手机) |
目录
一、使用POJO若前端传递过来的数据刚好和我们的bean实体对象属性一致,则可以使用对象的形式接收。后端实体类
二、使用Map接收后台Controller
三、使用@RequestParams
1,params传参
2.地址拼接传参
当前端传来json数据时,后端有多种方式接收
前端json数据:
- $.ajax({
- type:"POST",
- url:"",
- data:{
- id:121, //数字
- name:"wb", //字符串
- },
- error=>{
- },
- success=>{
- }
- })
一、使用POJO
若前端传递过来的数据刚好和我们的bean实体对象属性一致,则可以使用对象的形式接收。
后端实体类
- @Component
- public class user{
- private int id;
- private String name;
- }
后端Controller
- @PostMapping("/student/user")
- public void getUser(@RequestBody User user){
- System.out.println(user);
- }
前端数据和bean对象属性要一致
必须使用@RequestBody注解
当前台传入数据除了实体类属性外还有其他数据
1.当通过params传入,则使用@RequestParams接收
2.当传入方式跟其他参数一样都是data传入则还是@RequestBody
又因为@RequestBody只能使用一次,所以此时使用实体类User获取不到所有属性,此时我们需要创建一个UserDTO继承User,且给他加入其他传入参数属性
public class UserDTO extends User{
private String age;
}
此时后台接收时如下
-
- @PostMapping("/student/user")
- public void getUser(@RequestBody UserDTO userDTO){
- //获取user对象 通过多态
- User u=userDTO;
- //获取除此之外的其他属性
- String age=userDTO.getAge();
- }
-
二、使用Map接收
后台Controller
@PostMapping("/lhj/getdata")
public void getData(@RequestBody Map
System.out.println(map);
}
前端传来的是一个json对象时:{'id'=1,'name'='ww'},可以用Map来获取
@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody Map
if(map.containsKey("id"){
Integer id = Integer.parseInt(map.get("id"));
}
if(map.containsKey("name"){
String objname = map.get("name").toString();
}
return "success";
对于Map
三、使用@RequestParams
1,params传参
- $.ajax({
- url: "/search",
- method: "GET",
- params: "keyword=1",
- success: function(response) {
- }
- });
若前端请求时通过params传参数,则后端需要使用@RequestParams来与传入参数名相对应,
-
- @PostMapping("/search")
- public void getUser(@RequestParams("keyword") String keyword){
- }
-
2.地址拼接传参
- $.ajax({
- url: "/search?name=hehe",
- method: "GET",
- params: "keyword=1",
- success: function(response) {
- }
- });
后端获取参数
-
- @PostMapping("/search")
- public void getUser(
- @RequestParams("keyword") String keyword,
- @RequestParams("name") String name){
- }
-
以上就是常见的前后端获取参数方式了~~~
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |