java - Spring @RequestBody json 400错误,如何更改@RequestyBody参数?

标签 java json spring

嗨~我使用了 springframework 和 jackson 库来映射 json 数据。 当客户端向服务器发送json数据时,如

"files": [
 {
        "fileLoctn": "%INSTALL_PATH%\\beth_birthday.jpeg",
        "fileSize": "10",
        "fileVer": "0.1"
    },
 {
        "fileLoctn": "%INSTALL_PATH%\\beth_graduate.jpeg",
        "fileSize": "10",
        "fileVer": "0.1"
    }
]}

我这样映射它。它起作用了。

@RequestBody Map<String, List<InfoVO>> listInfoVo 

但是当我更改 json 数据如

   {
      "useId" : "Beth",
      "files": [
     {
            "fileLoctn": "%INSTALL_PATH%\\beth_birthday.jpeg",
            "fileSize": "10",
            "fileVer": "0.1"
        },
     {
            "fileLoctn": "%INSTALL_PATH%\\beth_graduate.jpeg",
            "fileSize": "10",
            "fileVer": "0.1"
        }
    ]},
    {
      "useId" : "Tom",
      "files": [
     {
            "fileLoctn": "%INSTALL_PATH%\\Tom_birthday.jpeg",
            "fileSize": "10",
            "fileVer": "0.1"
        },
     {
            "fileLoctn": "%INSTALL_PATH%\\Tom_graduate.jpeg",
            "fileSize": "10",
            "fileVer": "0.1"
        }
    ]}

我像这样映射了@Requestbody。

@RequestBody List<Map<Map<String,String>, Map<String, List<InfoVO>>>> listInfoVo

但是这不起作用。如何更改@RequestBody参数类型? 我不知道。如何更改参数。

InfoVo 包含 fileLoctn、fileSize、fileVer、UserId 以及 get/set 方法。

最佳答案

我建议你定义一个类来映射它......数据结构似乎不是那么清晰......

public class PayloadDTO {
  private String userId;
  private List<FileDesc> files;
  // getters and setters
}


public calss FileDescDTO {
  private String fileLoctn;
  private String fileSize;
  private String fileVer;
  // getters and setters
}

然后你就可以让它变得简单:

@RequestBody List<PayloadDTO> listInfoVo

关于java - Spring @RequestBody json 400错误,如何更改@RequestyBody参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35050675/

相关文章:

java - 将 T 和 T[] 的混合传递给 Java 可变参数方法

java - 字符串到 XMLGregorianCalendar 问题

java - 使用quartz调度器和spring时如何缓存数据

java - HTTP 响应无法获取响应正文

java - 使用正则表达式删除尾随小数点和零

java - 如何链接NetBeans中的项目并添加到SVN?

javascript - 无法从api获取数据

json - 将 json 成员字段包装到对象

php - 为什么我的数组被错误地转换为 jsonp 数据?

java - 如何调试 Spring MVC tomcat 应用程序?