Eu escrevi uma nova interface. Ao depurar a interface local com a ferramenta POSTMAN, a interface relatou um erro:
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of `com.ncic.eam.component.dto.mobileapproval.other.MobileApprovalDoUpdateParameter$Data` (although at least one Creator exists): can only instantiate non-static inner class by using default, no-argument constructor; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.ncic.eam.component.dto.mobileapproval.other.MobileApprovalDoUpdateParameter$Data` (although at least one Creator exists): can only instantiate non-static inner class by using default, no-argument constructor\n at [Source: (PushbackInputStream); line: 6, column: 13] (through reference chain: com.ncic.eam.component.dto.mobileapproval.other.MobileApprovalDoUpdateParameter[\"data\"]->java.util.ArrayList[0])
A razão é que os parâmetros de entrada definidos por você são mais complicados, então o método da classe interna é usado para receber
public class MobileApprovalDoUpdateParameter extends MobileApprovalBaseParameter implements Serializable {
public String id;
public String userCode;
/**
* “EDIT_FORM”审批域内数据,取出不可编辑项,保留修改域结构。
*/
public List<Data> data;
// get set 方法
//....
public class Data {
public String id;
public String label;
public String type;
public List<Item> items;
//set get 方法......
//.......
A essência do problema é: a classe interna não estática não pode ser instanciada
Você precisa fazer duas coisas:
1. Adicionar estático antes da
classe interna 2. Adicionar o construtor padrão à classe interna
public class MobileApprovalDoUpdateParameter extends MobileApprovalBaseParameter implements Serializable {
public String id;
public String userCode;
public List<Data> data;
public MobileApprovalDoUpdateParameter(){
}
// get set 方法
//....
public static class Data {
public String id;
public String label;
public String type;
public List<Item> items;
public Data(){
}
// get set 方法
//....