3
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

郵便番号検索APIをSpring Bootで叩いてみる

Last updated at Posted at 2018-07-28

郵便番号検索APIとは

日本郵便が公開しているAPIです。
RESTを利用し、郵便番号を取得できます。

開発環境

今回は下記の環境で実行しています。

  • IDE:Spring Tool Suite 3.8.4Release
  • 言語:Java 1.8
  • FW:Spring Boot 1.5.6
  • テンプレートエンジン:Thymeleaf 2.1.5

今回の主役:Rest Template

  • Spring Frameworkの機能です。
  • REST APIを呼び出すメソッドを提供
  • たった一行で呼べる!!
    (HttpConnectionをOpenして、そこからBufferedWriterで書き出して、ResponseをBufferedReaderで読み込んで、みたいなこと要らない)

実装

Service Class

ZipCodeService.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

@Service
public class ZipCodeService {
	@Autowired
	@Qualifier("zipCodeSearchRestTemplate")
	RestTemplate restTemplate;

	/** 郵便番号検索API リクエストURL */
	private static final String URL = "http://zipcloud.ibsnet.co.jp/api/search?zipcode={zipcode}";

	public ZipCodeDto service(String zipcode) {
		return restTemplate.getForObject(URL, ZipCodeDto.class, zipcode);
	}
}

実際にAPIを叩いているのは、

restTemplate.getForObject

の部分です。

Dto

RestTemplateで叩いて取得したデータを、Javaオブジェクトで受け取ります。

ZipCodeDto.java
package com.taku.springboot;

import java.util.ArrayList;
import java.util.List;

public class ZipCodeDto {
	/** ステータス */
	int status;

	/** メッセージ */
	String message;

	/** 郵便番号情報リスト */
	List<ZipCodeDataDto> results = new ArrayList<>();

実際に動かしてみる

こうして…
image.png

こう!
image.png

3
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?