2016-10-21 16 views
2

I found an answerこの質問に似ていますが、JSONデータを投稿するときには機能しません。Spring Controller JSONデータのトリミングに関するアドバイス

@ControllerAdvice 
public class ControllerConfig { 

    @InitBinder 
    public void initBinder (WebDataBinder binder) { 
     StringTrimmerEditor stringtrimmer = new StringTrimmerEditor(true); 
     binder.registerCustomEditor(String.class, stringtrimmer); 
    } 
} 

私はコードをデバッグを経由して結合中に到達していることを知っているが、私は次のようにデータを渡すとき:

{ "companyId": " ABC  "} 

ABC実際に結合時にトリミングされていない私には、以下があります。私の推測では、これはリクエストパラメタでのみ動作し、未加工のJSON本体では動作しませんが、それについてはわかりません。そうだとすれば、私はそれが似ていることができますか?

+0

あなたの財産にこれを設定します –

答えて

0

このJsonDeserializer

public class WhiteSpaceRemovalDeserializer extends JsonDeserializer<String> { 
    @Override 
    public String deserialize(JsonParser jp, DeserializationContext ctxt) { 
     // This is where you can deserialize your value the way you want. 
     // Don't know if the following expression is correct, this is just an idea. 
     return jp.getCurrentToken().asText().trim(); 
    } 
} 

を作成し、私はあなたがジャクソンデシリアライザを作成すると思います

@JsonDeserialize(using=WhiteSpaceRemovalSerializer.class) 
public void setAString(String aString) { 
    // body 
} 
関連する問題