波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了使用RestTemplate將JSON映射到對象的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我編寫了貨幣轉換器程序,該程序從api.fixer.io讀取JSON,映射對象并創建選定匯率的簡單數據集。
我的程序一直工作得很好,直到我停止使用Jackson解析和映射對象,并將其替換為RestTemplate
它可以很好地讀取基礎貨幣和日期,但不能讀取Rates子對象。為什么?

我的代碼:
Currency類:

package com.github.gromo13.currencyConverter.model.util;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Currency {
    private String base;
    private String date;
    private Rates rates;

    public Currency() {

    }

    public String getBase() {
        return this.base;
    }

    public void setBase(String base) {
        this.base = base;
    }

    public String getDate() {
        return this.date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public Rates getRates() {
        return this.rates;
    }

    public void setRates(Rates rates) {
        this.rates = rates;
    }

    public double getRate(String currencyCode) {
        return rates.getRate(currencyCode);
    }
}

Rates類:

package com.github.gromo13.currencyConverter.model.util;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Rates {
    private double eur;
    private double pln;
    private double usd;

    public double getEur() {
        return this.eur;
    }

    public void setEur(double eur) {
        this.eur = eur;
    }

    public double getPln() {
        return this.pln;
    }

    public void setPln(double pln) {
        this.pln = pln;
    }

    public double getUsd() {
        return this.usd;
    }

    public void setUsd(double usd) {
        this.usd = usd;
    }

    public double getRate(String currencyCode) {
        currencyCode = currencyCode.toUpperCase();
        switch (currencyCode) {
            case "EUR":
                return this.eur;
            case "PLN":
                return this.pln;
            case "USD":
                return this.usd;
            default:
                return 1;
        }
    }
}

Repository必須使用RestTemplate映射Currency對象的類:

package com.github.gromo13.currencyConverter.repository;

import com.github.gromo13.currencyConverter.model.util.Currency;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.web.client.RestTemplate;

@Repository
public class FixerIoCurrencyRepository implements CurrencyRepository {
    @Autowired
    private RestTemplate restTemplate;

    public void setRestTemplate(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }

    @Override
    public Currency getCurrency(String currencyCode) {
        Currency currency = restTemplate.getForObject("http://api.fixer.io/latest?base={currencyCode}", Currency.class, currencyCode);

        return currency;
    }
}

Sample JSON data I am trying to parse and map

我正在使用這個Currency對象準備DataSet對象和<currencyName, rate>的簡單映射,并將其打印到視圖中的表格中。一切正常,我只是每次都收到0作為每種貨幣的匯率。

推薦答案

問題在于,在Rates中,類屬性為小寫,而在JSON數據中為大寫。

您可以在@Configuration類中定義RestTemplate以使用接受不區分大小寫的屬性。這樣,您就不必更改Rates屬性的格式。

@Bean
public ObjectMapper objectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
    return mapper;
}

@Bean
public MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter() {
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setObjectMapper(objectMapper());
    return converter;
}

@Bean
public RestTemplate restTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(0, mappingJacksonHttpMessageConverter());
    return restTemplate;
}

這篇關于使用RestTemplate將JSON映射到對象的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JSON RestTemplate 對象 映射
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定