如何将请求正文中的列表值发送到 Rest Api

kri*_*hna 1 java rest json spring-boot postman

嗨,我已经编写了一个 Rest 服务来通过 RequestBody 接受长值列表作为输入,下面给出了相同的代码:

@DeleteMapping("/files")
public ResponseEntity<?> deletefiles(@RequestBody List<Long> ids) {
     fileService.deleteSelectedfiles(ids);
     return ResponseEntity.ok().build();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试从 Postman 访问上述 url 时,出现以下错误:

"JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: [![enter image description here][1]][1]Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token\n at [Source: (PushbackInputStream); line: 1, column: 1]"
Run Code Online (Sandbox Code Playgroud)

在邮递员中,我以以下格式将数据作为原始数据发送

{"ids": [1 ,2]} 
Run Code Online (Sandbox Code Playgroud)

谁可以帮我这个事

sta*_*r67 11

您的有效载荷预计为

[1 ,2]
Run Code Online (Sandbox Code Playgroud)

代替

{"ids": [1 ,2]}
Run Code Online (Sandbox Code Playgroud)

第一个选项是一个 json 数组,第二个示例是一个 json 主体。您可以将第一个与您的@RequestBody List<Long> ids或第二个与@RequestBody YourData datawhere 一起使用

class YourData {
    List<Long> ids
}
Run Code Online (Sandbox Code Playgroud)