前端向后端传入json 后台怎么接收(params呢)

这篇具有很好参考价值的文章主要介绍了前端向后端传入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<String,Object>map){
    System.out.println(map);
    }
前端传来的是一个json对象时:{'id'=1,'name'='ww'},可以用Map来获取

@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody Map<String, String> 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<String,Object>,值的类型建议设置为Object,这样可以使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){
   
}

​

以上就是常见的前后端获取参数方式了~~~文章来源地址https://www.toymoban.com/news/detail-667079.html

到了这里,关于前端向后端传入json 后台怎么接收(params呢)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • SpringBoot前端传递数组后端怎么接收

    在Spring Boot中,前端传递数组到后端的方式可以有多种。以下介绍两种常用的方法: 使用@RequestParam接收数组参数: 前端可以通过URL参数的形式传递数组,后端使用@RequestParam注解来接收数组参数。 示例代码: 前端请求示例: 在URL参数中使用相同的参数名(如arrayParam),Sp

    2024年02月04日
    浏览(15)
  • 使用PostMan使用post请求向后端发送json对象时报错

    使用PostMan使用post请求向后端发送json对象时报错

     报错信息:Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of com.itheima.domain.Book out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of com.itheima.domain.Book out of START_ARRAY token  at

    2024年02月03日
    浏览(13)
  • c#[WebMethod]方法接收前端传入的JsonArray的方法

    一、第一种方法:可以这样接收前端传入的jsonArray字符串到一个类的数组中,然后遍历该数组取值 这种方法需要创建PointConfig类 二、第二种方法:可以这样接收前端传入的jsonArray字符串到一个类的数组中,然后遍历该数组取值 秋风写于淄博,业务咨询与技术交流:Q375172665

    2024年02月15日
    浏览(7)
  • 【若依】框架搭建,前端向后端如何发送请求,验证码的实现,开启注册功能

    【若依】框架搭建,前端向后端如何发送请求,验证码的实现,开启注册功能

    若依框架(Ruoyi)是一款基于Spring Boot和Spring Cloud的开源快速开发平台。它提供了一系列的基础功能和通用组件,能够帮助开发者快速构建企业级应用。若依框架采用了模块化的设计理念,用户可以选择需要的功能模块进行集成,也可以根据自己的业务需求进行扩展。若依框架

    2024年02月12日
    浏览(11)
  • Postman报错 status: 500,error: Internal Server Error,数据无法通过json传入后端。

    Postman报错 status: 500,error: Internal Server Error,数据无法通过json传入后端。

    原因:没有加@RequestBody注解 错误如下: {     \\\"timestamp\\\": \\\"2022-10-08T12:28:11.503+00:00\\\",     \\\"status\\\": 500,     \\\"error\\\": \\\"Internal Server Error\\\",     \\\"path\\\": \\\"/books\\\" } 测试数据: 控制台:   解决方法: 把要传入的book前面加入@RequestBody 而@RequestBody主要用来接收前端传递给后端的json字符

    2024年02月11日
    浏览(16)
  • 前端向后端发起请求时,报Uncaught (in promise) ReferenceError: ***** is not defined的错

    前端向后端发起请求时,报Uncaught (in promise) ReferenceError: ***** is not defined的错

     前端调用后端的接口,显示的Uncaught (in promise) ReferenceError: getGoods is not defined。但是我们在后端中配置了该接口的请求地址的。同时在前端的axios中也进行了相关接口的封装的。 报错的截图:   原因是没有在页面中引入getGoods这个封装好的接口。 解决方法:只需在需要使用的

    2024年02月08日
    浏览(12)
  • 前端:JS:将图片转为二进制与其他文本传入后端

    在前端,可以将图片转换为二进制数据,并将其与其他文本字符串一起发送到后端。一种常见的方法是将所有数据组合为一个 FormData 对象,然后通过 AJAX 或 Fetch API 将其发送给后端。以下是一个示例: 解释 : 当文件输入框内容发生变化时,会触发 change 事件。然后,它会读

    2024年04月26日
    浏览(17)
  • java后端该怎样来接受前端日期选择器传入的时间参数

    如果前端使用了日期选择器并且将选择的日期传给了Java后端,那么Java后端可以使用如下方法来接收日期参数: 在后端的方法中声明一个形参,类型为 java.util.Date 或 java.time.LocalDate ,然后在前端的请求中传入的日期参数会被自动封装成相应的日期对象。例如: 在后端的方法

    2024年02月13日
    浏览(11)
  • postman发送json嵌套, 后端 @RequestBody 接收不到

    postman发送json嵌套, 后端 @RequestBody 接收不到

    遇到了一个很奇葩的问题,具体是这样的: postman 通过 post 方式发送请求,请求参数是一个嵌套的json,后端是@RequestBody修饰的实体类接参的, 具体的json数据: 后端: 大家知道以上事例即可。 出现的问题是: 发送请求后,没能收到外层实体类的参数,内层的ANPR对象,一直

    2024年02月04日
    浏览(12)
  • mysql 字段类型为json,后端用list接收

    board` json DEFAULT NULL COMMENT \\\'信息,格式[{\\\"name\\\":\\\"net\\\",\\\"chip\\\":\\\"esp32\\\",\\\"hdVer\\\":1}]\\\' resultMap id=\\\"productDeviceAndBrand\\\" type=\\\"com.charg.product.domain.vo.ProductDeviceOperationsVo\\\" result property=\\\"brandId\\\" column=\\\"brand_id\\\"/ result property=\\\"brandName\\\" column=\\\"brand_name\\\"/ result property=\\\"productName\\\" column=\\\"product_name\\\"/ result property=\\\"productC

    2024年04月09日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包