スリッピー:
私は私が要求ペイロードとして使用しています以下のクラスを、持っています:
public class SampleRequest {
private String fromDate;
private String toDate;
// Getters and setters removed for brevity.
}
私は(物事が起こる見て画面にそれを印刷しようとしている)の下に、このリソースでそれを使用しようとしています:
@PostMapping("/getBySignatureOne")
public ResponseEntity<?> getRequestInfo(@Valid @RequestBody SampleRequest signatureOneRequest) {
System.out.println(signatureOneRequest.getToDate);
System.out.println(signatureOneRequest.getFromDate);
}
これは私が送っJSONリクエストであります:
{
"fromDate":"2019-03-09",
"toDate":"2019-03-10"
}
これは私が取得エラーです:
Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of `com.test.app.payload.SampleRequest` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('fromDate'); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.test.app.payload.SampleRequest` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('fromDate')
at [Source: (PushbackInputStream); line: 1, column: 2]]
私は、コンストラクタでその問題が疑われる、または私はいくつかの注釈どこかをしないのですが、私は私がなくなって間違っを持っている場所の正直わからないだと、ここで間違っているものを知ってみたいです。
アンドロニカス:
あなたはすべてのパラメータを持つコンストラクタが必要になります。
public SampleRequest(String fromDate, String toDate) {
this.fromDate = fromDate;
this.toDate = toDate;
}
または使用@AllArgsConstructor
や@Data
ロンボク島から。