春ブーツは、APIへのリクエストをGET

zodiac645:

だから、私はこれ持ってJSONデータそのままの形式です。これは単に一日で世界の日の周りに、現在のcovid-19レコードを示しています。私はそれにGETリクエストを送信し、春のブートを使用して、ブラウザにデータを表示する必要があります。私が試してみましたgetForObject(url, class)方法を、それはメッセージでエラーが発生しましたno suitable HttpMessageConverter found for response type私はそれを解決しようとしたができなかったしています。そして、私が試してみましたObjectMapper.readValue(url, class)JSONデータのURLと方法をCovid19.class今回は、私はメッセージでエラーが発生しますno protocolプロジェクトの構造は、次のとおりです。

Covid19.java:

public class Covid19 implements Serializable {
    private final String country;

    public Covid19(String country){
        this.country = country;
    }

    public String getCountry(){
        return country;
    }
}

Covid19Controller.java:

@RestController
public class Covid19Controller {
    @GetMapping(value = "/covid", produces = MediaType.APPLICATION_JSON_VALUE)
    public Covid19 covid19() throws IOException {
        URL url = new URL("raw.githubusercontent.com/pomber/covid19/master/docs/timeseries.json");
        Covid19 covid19 = new ObjectMapper().readValue(url, Covid19.class);
        return covid19;
    }

メインクラス:

public static void main(String[] args) {
    SpringApplication.run(DataminingWebserviceApplication.class, args);
}

実は、私の目的は、パラメータを指定してGETリクエスト送信することでしたcountry先頭になく、立ち往生します。私は昨日、春ブーツを勉強し始めて、それを学ぼうとしています。そこのチュートリアルがたくさんあるが、どれもとてもよく私の場合に適合していません。前もって感謝します。

pvpkiran:

あなたが定義したクラスが正しくない、このようなクラスを作成します。

@JsonIgnoreProperties(ignoreUnknown = true)
public class Covid19{
    private int confirmed;
    private int deaths;
     ....
    // add other fields and Getters & Setters
}

そして、データを読み込むためのコードは次のようになります。

URL url = new URL("https://raw.githubusercontent.com/pomber/covid19/master/docs/timeseries.json");
final Map<String, List<Covid19>> covid19Map= new ObjectMapper().readValue(url, new TypeReference<Map<String, List<Covid19>>>() {});

JSONに示すようにcovid19Mapは、国などの主要および日付賢明なリストとしてvalusを持っています

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=377344&siteId=1