私はSpring-Bootを使用してRESTサービスを構築しました。すべてうまく動作します。しかし、自分のcurl
コマンドをPOJO変数のPOSTで誤った名前に更新すると、デフォルト値のオブジェクトが取得されます。POSTをRESTサービスに送信するときに予期せずJSON解析が発生する
私のエンティティは次のようになります。私はそうのように私のサービスに対してPOSTを実行
@Entity
public class UserTask {
@Id
private Long userId;
private int numComplete;
private int numIncomplete;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public int getNumComplete() {
return numComplete;
}
public void setNumComplete(int numComplete) {
this.numComplete = numComplete;
}
public int getNumIncomplete() {
return numIncomplete;
}
public void setNumIncomplete(int numIncomplete) {
this.numIncomplete = numIncomplete;
}
@Override
public String toString() {
return new StringBuilder("[id : ").append(getUserId())
.append(", complete : ").append(getNumComplete())
.append(", incomplete : ").append(getNumIncomplete())
.append("]").toString();
}
}
:
curl -i -X POST -H "Content-Type:application/json" -d "{ \"uId\" : \"1\", \"numC\" : \"3\", \"numI\" : \"2\" }" http://localhost:8080/user-task
POST
ため返された状態が201
で、レコードが、この場合には(書かれています更新された)。デバッグすると、UserTask
インスタンスがRESTコントローラメソッドに渡され、null
がuserId
、0
がnumComplete
、0
がnumIncomplete
となっています。私は、JSONパーサーがUserTask
インスタンスとしてPOST JSONのコンテンツを非整列化できなかったときに失敗したと思いましたか?
ありがとうございます。私はこれを試して、報告して戻します。 – njk2015
この例を見てください。https://www.mkyong.com/spring-mvc/spring-rest-api-validation/ – JorgeTovar