Spring MVC 接收多个实体参数

在SpringMVC 的接收参数中,如果接收一个实体对象,只需要在方法参数中这样做:@RequestBody User user

//单个的时候这样接收
@RequestMapping(value = "/user/default/save",method = RequestMethod.POST)
    public ResponseBasicBean saveUserAndMore(@RequestBody User  user) {
        return null;
    }

 //批量的时候这样接收
    @RequestMapping(value = "/user/job/save",method = RequestMethod.POST)
    public ResponseBasicBean saveUserJob(@RequestBody List<UserJobHistory> jobs) {
        return userBusinessService.saveUserJob(jobs);
    }

但是如果是接收2个不同的对象,怎么做呢?如果直接 写2个@RequestBody User user,@RequestBody Person person

这样会报错400;而解决办法是 新建一个类Human,里面有2个属性,分别是user和person,以及getter setter方法;

然后前端提交json数据的时候,需要加上一个嵌套{"user":{"id":1,"name":"ding"},"person":{"id":2,"sex":2}}

最后在后台方法参数里面直接用 @RequestBody Human human ,这个human对象里面的2个属性就都有赋值

时间: 2024-08-10 17:07:52

Spring MVC 接收多个实体参数的相关文章

spring mvc接收JSON格式的参数

1.配置spring解析json的库   <dependency>         <groupId>org.codehaus.jackson</groupId>         <artifactId>jackson-mapper-asl</artifactId>         <version>1.9.8</version>         <type>jar</type>         &

如何让Spring MVC接收的参数可以转换为java对象

场景: web.xml中增加了一个DispatcherServlet配置,并在同级目录下添加了**-servlert.xml文件,搭建起了一个spring mvc的restful访问接口. 问题描述: Controller的@RequestBody, 如果参数定义类型为String,则可以获取到数据; 如果参数定义类型为其他java对象,就接收不到. 下面记录完整的解决方法: 1. web.xml <!-- spring mvc依赖的大环境,此参数会被ContextLoaderListener使

【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface

后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Speci

spring MVC接收list,map,数组

spring mvc 接收复杂类型1.接收数组    1.jsp页面:        <form action="home/hello" method="post">           3:<input type="checkbox" name="ll" value="adfadf" id="myfile"><br/>                

spring mvc接收数组

(一)前言 对于springmvc接收数组的问题啊,我试验过几次,但是了有时候成功了,有时候失败了,也不知道为啥的,然后现在又要用到了,所以打算具体看看到底怎么回事,但是了我实验成功了顺便找了好多资料的. (二)spring mvc接收数组测试代码 @ResponseBody @RequestMapping(value = "/test/array", method = RequestMethod.POST) public JSON test(@RequestParam(value =

spring mvc接收ajax提交的JSON数据,并反序列化为对象

需求:spring mvc接收ajax提交的JSON数据,并反序列化为对象,代码如下: 前台JS代码: //属性要与带转化的对象属性对应 var param={name:'语文',price:16}; $.ajax({ url: "/book/adddata", type: "POST", dataType: 'json', //必需设定,后台@RequestBody会根据它做数据反序列化 contentType:"application/json&quo

Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式

ylbtech-Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式 1.返回顶部 1. 常用的一些Spring MVC的路由写法以及参数传递方式. 这是一些测试代码: package com.my.controller; import java.io.PrintWriter; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servl

spring mvc 接收表单 bean

spring MVC如何接收表单bean 呢? 之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考 页面loginInput.jsp: Html代码   <?xml version="1.0" encoding="UTF-8" ?> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco

Spring MVC 接收 LocalDate、LocalTime 和 LocalDateTime Java 8 时间类型参数

使用 Spring MVC 时,很多业务场景下 Controller 需要接收日期时间参数.一个简单的做法是使用 String 接收日期时间字符串(例如:2020-01-29),然后在代码中将其转换成 Java 8 的日期时间类型或 java.util.Date 类型.这种方法虽然简单,但是当有多个 Controller 接收日期参数时,这种方法就显得有些繁琐了. 另一个做法是使用以下两个 Spring 提供的注解,可以很好地满足上述需求. org.springframework.web.bin