私は春3.1 MVCプロジェクトを持っている、と私はトラブル下記のコントローラメソッドに送信された要求デシリアライズ抱えている:@JsonSerialize/@JsonDeserialize春のMVCで呼び出さない
@RequestMapping(value="/deposit",method=RequestMethod.POST)
public void deposit(@RequestBody DepositRequest request)
{
}
リクエストオブジェクトが含まれ
public class DepositRequest {
private Money amount;
@JsonDeserialize(using=JodaMoneyDeserializer.class)
@JsonSerialize(using=JodaMoneySerializer.class)
public Money getAmount() {
return amount;
}
public void setAmount(Money amount) {
this.amount = amount;
}
}
デシリアライザ:
public class JodaMoneyDeserializer extends JsonDeserializer<Money> {
@Override
public Money deserialize(JsonParser parser, DeserializationContext context)
throws IOException, JsonProcessingException {
String text = parser.getText();
return Money.parse(text);
}
}
私はのためのカスタム・シリアライザ/デシリアライザを登録したジョダマネー値、
ただし、このデシリアライザは呼び出されません。次のJSONを送信すると、400 - Bad Request
というレスポンスが返されます。これは、マッパーが見つからなかったとみなします。
{
"amount" : "30AUD"
}
私は何とかこのマッパーについて春を伝える必要があり、または十分な注釈ですか? デシリアライゼーションを機能させるためには、他に何をすべきですか?
はあなたにもデシリアライザクラスを設定する必要がありますか?私はjoda-timeと同じことを試みています。http://stackoverflow.com/q/9484869/106261 – NimChimpsky