Сопоставьте свойства JSON с картой Java в ответе Spring RestTemplate - PullRequest
1 голос
/ 08 октября 2019

У меня следующий JSON-ответ от вызова Rest:

{
  "config" : {
       "hour" : 1
       "minute" : 60
       "pw" : "password"
   },
  "id" : 12345,
  "enabled" : true,
  "name" : "my-name"
}

Я использую Spring RestTemplate для вызова rest, и я хотел бы отобразить ответ на Java-объект, как показано ниже:

public Class MyResponse {
    private Map<String, String> config;

    private Map<String, String> allTheRestProps;
}

Можно ли сделать это с аннотациями Джексона без использования строки в качестве ответа и отобразить это вручную?

1 Ответ

1 голос
/ 08 октября 2019

Использование JsonAnySetter аннотация:

class MyResponse {

    private Map<String, String> config;
    private Map<String, String> allTheRestProps = new HashMap<>();

    public Map<String, String> getConfig() {
        return config;
    }

    public void setConfig(Map<String, String> config) {
        this.config = config;
    }

    public Map<String, String> getAllTheRestProps() {
        return allTheRestProps;
    }

    @JsonAnySetter
    public void setAllTheRestProps(String key, String value) {
        this.allTheRestProps.put(key, value);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...