Java 如何将控制器中的RequestBody定义为列表,我得到了500个错误
我想将搜索输入作为列表传递,参考下面的代码和我尝试的负载,我得到了解析器错误 //searchinput中的代码Java 如何将控制器中的RequestBody定义为列表,我得到了500个错误,java,spring-boot,Java,Spring Boot,我想将搜索输入作为列表传递,参考下面的代码和我尝试的负载,我得到了解析器错误 //searchinput中的代码 public class SearchInput { private List<SearchCriteria> criterias; } //控制器代码 @PostMapping("/searchhh") public List<Profile> findProfiles(@RequestBody SearchInput
public class SearchInput {
private List<SearchCriteria> criterias;
}
//控制器代码
@PostMapping("/searchhh")
public List<Profile> findProfiles(@RequestBody SearchInput input) {
List<SearchCriteria> criterias = input.getCriterias();
System.out.println("criterias=" + criterias);
return null;
}
您是否尝试过此有效负载:
{
"criterias" : [
{
"key": "g",
"operation": "eq",
"value": "m"
},
{
"key": "name",
"operation": "like",
"value": "Rani"
},
{
"key": "sh",
"operation": "eq",
"value": "Never"
}
]
}
您作为请求主体传递的上述有效负载表示
SearchCriteria
对象的数组,因此您可以将该json直接解析到List
中,而不需要SearchInput
类
@PostMapping("/searchhh")
public List<Profile> findProfiles(@RequestBody List<SearchCriteria> input) {
System.out.println("criterias=" + input);
return null;
}
@PostMapping(/searchhh)
公共列表findProfiles(@RequestBody列表输入){
System.out.println(“criterias=“+input”);
返回null;
}
当然可以,兄弟!
{
"criterias" : [
{
"key": "g",
"operation": "eq",
"value": "m"
},
{
"key": "name",
"operation": "like",
"value": "Rani"
},
{
"key": "sh",
"operation": "eq",
"value": "Never"
}
]
}
@PostMapping("/searchhh")
public List<Profile> findProfiles(@RequestBody List<SearchCriteria> input) {
System.out.println("criterias=" + input);
return null;
}