gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:04:49 26 4
gpt4 key购买 nike

嗨~我使用了 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com