デフォルトの引数のないコンストラクターを使用することによってのみ、非静的内部クラスをインスタンス化できます

新しいインターフェイスを作成しました。POSTMANツールを使用してローカルインターフェイスをデバッグすると、インターフェイスからエラーが報告されました。

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])

その理由は、自分で定義した入力パラメータがより複雑であるため、内部クラスメソッドを使用して受信するためです。

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  方法......
		//.......

問題の本質は次のとおりです。内部の非静的クラスをインスタンス化できません

次の2つのことを行う必要があり
ます。1。
内部クラスの前にstaticを追加します。2。内部クラスにデフォルトのコンストラクターを追加します。

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 方法
		//....

おすすめ

転載: blog.csdn.net/wujian_csdn_csdn/article/details/106690192