Java Spring接收长打印不匹配的列表InputException

Java Spring接收长打印不匹配的列表InputException,java,angular,spring,http,jpa,Java,Angular,Spring,Http,Jpa,我使用以下PostMapping来接收3个参数: @PostMapping(value = "/createJobs", consumes="application/json", produces="application/json") public @ResponseBody ResponseEntity<HttpStatus> createJobs( @RequestB

我使用以下PostMapping来接收3个参数:

@PostMapping(value = "/createJobs",
         consumes="application/json",
         produces="application/json")
public @ResponseBody ResponseEntity<HttpStatus> createJobs(
        @RequestBody ArrayList<Long> sizes,
        @RequestBody Long accounts,
        @RequestBody Long productId
) {
    
    System.out.println(sizes + " " + accounts + " " + productId);
    try {
        jobService.createJobs(productId, sizes, accounts);
        return ResponseEntity.status(HttpStatus.OK).build();
    }
    catch (final Exception e) {
        LOGGER.error(e.getMessage());
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
    }
}
但在发送post请求后,我收到以下错误:

.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Long>` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Long>` out of START_OBJECT token
 at [Source: (PushbackInputStream); line: 1, column: 1]]
.w.s.m.s.DefaultHandlerExceptionResolver:已解决[org.springframework.http.converter.httpMessageNodeAbleException:JSON解析错误:无法反序列化'java.util.ArrayList'的实例超出起始\u对象标记;嵌套异常为com.fasterxml.jackson.databind.exc.MismatchedInputException:无法反序列化'java.util.ArrayList'的实例超出起始\u对象标记
在[源:(PushbackInputStream);行:1,列:1]]

POST请求主体中的键应该是productId,而不是product

虽然可以方便地将每个请求键放在带有
@RequestBody
的方法参数上,但建议为每个请求模型创建一个通用类

e、 g.我的控制器:

ResponseEntity<TransactionLog> checkDiscount(HttpServletRequest request, 
                                             @RequestBody RequestCheckDiscount requestBody) {
    // Your code here
}
ResponseEntity<TransactionLog> checkDiscount(HttpServletRequest request, 
                                             @RequestBody RequestCheckDiscount requestBody) {
    // Your code here
}
public class RequestCheckDiscount {
    private String username;
    private int amount;
    private long time;

    // Standard getters and setters.
}