Jersey 1.17.1とJackson 1.9.2を使用してREST Webサービスがあります。JerseyとJacksonでデシリアライズした後にHashMapが空です。
APIは、次のようになります。
public class PlayerRequest {
private String language;
private String playerId;
private Map<String, String> params;
}
このサービスは、他のコンポーネントによって呼び出されると、params
マップが空に受け取られます:
PlayerRequest [language=null, playerId=100036343, params={}]
他のコンポーネントからオリジナルの要求:
PlayerRequest [language=null, playerId=100036343, params={context=mobile, countrycode=SE, partnerskin=8, locale=en_GB, ipaddress=62.209.186.13}]
デシリアライズ後にHashMapが空であるのはなぜですか?あなたのPlayerRequest
クラスで
私はそれを試してもうまくいきませんでした – mickygo
@mickygo私の更新された答えを見てください。 –
はい。 @JsonAnySetter \t公共ボイド集合(文字列キー、文字列値){ \t \t場合(paramsは== NULL){ \t \t \tのparams =新規HashMapの<文字列、文字列>():私は、設定された方法でそれを初期化; \t \t \t \t params.put(key、value); \t} – mickygo