静的でない内部クラスをインスタンス化するには、デフォルトの無引数コンストラクタを使用する必要があります。
2022-02-22 12:57:15
質問内容
json形式のデータを返すインターフェースを呼び出し、Jacksonを使ってパラメータをオブジェクトにパースする。
AjaxResult
getPointGoodsList(@RequestBody PointGoodsQuery query);
@ApiModel(value = "PointGoodsResponse",description = "PointGoodsInfo")
public class PointGoodsResponse implements Serializable {
private static final long serialVersionUID = 4790924204646750015L;
@ApiModelProperty(value = "TotalCount", dataType = "Integer")
private Integer totalCount;
@ApiModelProperty(value = "Product list", dataType = "list")
private List
Calling this interface returns the error message.
"message": "JSON parse error: Can not construct instance of com.zkt.user.api.model.point.PointGoodsResponse$PointGoods: can only instantiate non-static inner class by using default, no-argument constructor; nested exception is com.fasterxml.jackson.databind. JsonMappingException: Can not construct instance of com.zkt.user.api.model.point.PointGoodsResponse$PointGoods: can only instantiate non- static inner class by using default, no-argument constructor at [Source: java.io.PushbackInputStream@edc246; line: 20, column: 9] (through reference chain: com.zkt.user.api.model.point.PointGoodsResponse["data"]->com.zkt.user.api.model.point. PointGoodsResponse$PointGoods["data"]->java.util.ArrayList[0]**)",
Solution
The nature of the problem is.
Internal non-static classes cannot be instantiated
You need to do two things.
Precede the inner class with static
Add a default constructor to the inner class
The altered inner class looks like this.
@ApiModel(value = "PointGoodsResponse",description = "PointGoodsInfo")
public class PointGoodsResponse implements Serializable {
private static final long serialVersionUID = 4790924204646750015L;
@ApiModelProperty(value = "TotalCount", dataType = "Integer")
private Integer totalCount;
@ApiModelProperty(value = "Product list", dataType = "list")
private List
"message": "JSON parse error: Can not construct instance of com.zkt.user.api.model.point.PointGoodsResponse$PointGoods: can only instantiate non-static inner class by using default, no-argument constructor; nested exception is com.fasterxml.jackson.databind. JsonMappingException: Can not construct instance of com.zkt.user.api.model.point.PointGoodsResponse$PointGoods: can only instantiate non- static inner class by using default, no-argument constructor at [Source: java.io.PushbackInputStream@edc246; line: 20, column: 9] (through reference chain: com.zkt.user.api.model.point.PointGoodsResponse["data"]->com.zkt.user.api.model.point. PointGoodsResponse$PointGoods["data"]->java.util.ArrayList[0]**)",
関連
-
NullPointerException - java.lang.
-
Uncaught ReferenceError: は定義されていません。
-
ジャバアレイ
-
Javaがテキストファイルを読み込む
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
API の戻り値を処理するために ResponseEntity を使用する
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
ApiModel と @ApiModelProperty の使用法
-
ロンボク版問題による血の海を思い出せ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Jsoup-Crawlingの動作
-
無効な文字定数
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
java send https request prompt java.security.cert.について。
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
代入の左辺は変数でなければならない 解答
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
MyBatisカスタムタイプハンドラ TypeHandler
-
Java上級(XLVI) ArrayList、Vector、LinkedListの類似点と相違点を簡単に説明できる。