SpringBootでヤフー商品検索APIのXMLレスポンスをパースしてJSONで返却してみる

はじめに

こんにちは!さいけです。

今回は、タイトルの通り「SpringBootでヤフー商品検索APIのXMLレスポンスをパースしてJSONで返却してみる」記事になります。

今回、利用するWebAPIは、以下のヤフー商品検索API(デベロッパーネットワーク)を利用したいと思います。

なお、APIの仕様については、割愛します。

ショッピング:商品検索 - Yahoo!デベロッパーネットワーク
Yahoo!デベロッパーネットワークで公開している商品検索 APIは、Yahoo!ショッピングの商品検索結果を取得する機能を提供しています。

また、本APIを利用するにあたって、下記のリンクからAPIの利用に必須なappIDを取得しておいてください

アプリケーションの管理:Yahoo!デベロッパーネットワーク
Yahoo!デベロッパーネットワークは、開発者がXMLやRSSなどを利用して、自分のサイトやアプリケーションをYahoo! JAPANのWebサービスと融合するお手伝いをします。

本記事のゴール

SpringBootでヤフー商品検索APIのXMLレスポンスをパースしてJSONで返却する

環境

  • Java8
  • IntelliJ IDEA
  • SpringBoot 2.1.3.RELEASE

やってみる

今回は、Controller、ApiClient、Entity、Responseの4クラスを作ります。

それぞれのクラスがどんな役割をしているか軽く解説していきます\(^o^)/

以下、サンプルコードになります

YahooShoppingItemSearchController.java

@RestController
@RequiredArgsConstructor
public class YahooShoppingItemSearchController {

    private final YahooShoppingItemSearchApiClient yahooShoppingItemSearchApiClient;

    @GetMapping(value = "/search")
    public YahooShoppingItemSearchResponse getYahooShoppingRanking(@RequestParam("word") String word) {
        YahooShoppingItemSearchEntity yahooShoppingItemSearchEntity = yahooShoppingItemSearchApiClient.get(word);
        YahooShoppingItemSearchEntity.Result YahooShoppingItemSearchEntityResult = yahooShoppingItemSearchEntity.getResult();
        return new YahooShoppingItemSearchResponse(
                YahooShoppingItemSearchEntityResult.getRequest().getQuery(),
                YahooShoppingItemSearchEntityResult.getHit());
    }
}

解説

  • RestControllerクラス
  • @RequestParamで外部から値を受け取り、その値をApiClientに渡してあげて、返ってきた値をYahooShoppingItemSearchResponseに詰めてレスポンスとして返却しています
  • また、DI注入を行い、YahooShoppingItemSearchApiClientを利用可能にしています
  • DI注入する際は@RequiredArgsConstructorが必須になります

 

YahooShoppingItemSearchResponse.java

@Getter 
@AllArgsConstructor 
public class YahooShoppingItemSearchResponse {

     private String keyWord;

     private List itemList;
 }

解説

  • RestControllerが返却するレスポンス値を保持するクラス
  • keyWordとitemListの値を保持できます

 

WeatherApiClient.java

@Component
@RequiredArgsConstructor
public class YahooShoppingItemSearchApiClient {

    private RestTemplate restTemplate = new RestTemplate();

    final private String appId = "XXX";

    public YahooShoppingItemSearchEntity get(String word) {
        return restTemplate.getForObject(
                "https://shopping.yahooapis.jp/ShoppingWebService/V1/itemSearch?appid=" + appId + "&query=" + word,
                YahooShoppingItemSearchEntity.class
        );
    }
}

解説

  • ヤフー商品検索APIを叩くクラス
  • @ComponentでSpringBootにクラスの存在を知らせています(噛み砕いた表現を使っています)
  • RestTemplateをDI注入して利用可能にしています
  • final宣言でappIdを書き換えられない値として宣言しておきます。(XXXには取得したappIdに書き換えてください)
  • restTemplateのgetForObjectメソッドを利用してヤフー商品検索Apiを叩きます
  • APIを叩いた結果をYahooShoppingItemSearchEntityクラスに値を渡します

 

YahooShoppingItemSearchEntity.java

@Getter 
@AllArgsConstructor
@NoArgsConstructor 
@XmlRootElement(name = "ResultSet", namespace = "urn:yahoo:jp:itemSearch") 
public class YahooShoppingItemSearchEntity {

     @XmlElement(name = "Result", namespace = "urn:yahoo:jp:itemSearch")
     private Result result;

     @Getter
     @AllArgsConstructor
     @NoArgsConstructor
     @XmlRootElement(name = "Result", namespace = "urn:yahoo:jp:itemSearch")
     public static class Result {

         @XmlElement(name = "Request", namespace = "urn:yahoo:jp:itemSearch")
         private Request request;
         @XmlElement(name = "Hit", namespace = "urn:yahoo:jp:itemSearch")
         private List hit;
     }
     @Getter
     @AllArgsConstructor
     @NoArgsConstructor
     @XmlRootElement(name = "Request", namespace = "urn:yahoo:jp:itemSearch")
     public static class Request {
         @XmlElement(name = "Query", namespace = "urn:yahoo:jp:itemSearch")
         private String query;
     }
     @Getter
     @AllArgsConstructor
     @NoArgsConstructor
     @XmlRootElement(name = "Hit", namespace = "urn:yahoo:jp:itemSearch")
     public static class Hit {
         @XmlElement(name = "Name", namespace = "urn:yahoo:jp:itemSearch")
         private String name;
         @XmlElement(name = "Description", namespace = "urn:yahoo:jp:itemSearch")
         private String description;
     }
 }

解説

  • ヤフー商品検索APIをコールした値を保持するクラス
  • @XmlRootElementと@XmlElementを使って、XMLの結果をそれぞれの値にマッピングしています
  • xmlアノテーションのオプションであるnameには、マッピングしたい要素名を指定します
  • namespaceには、xmlns=の値(空間属性情報)を入れます
  • なお、ヤフーの商品検索APIは返却される値に空間属性情報が付与されたXMLが返却されるので、namespaceを指定しないとパースエラーとなります

  

以上の4ファイルが作成できたら、アプリケーションを起動させて、http://localhost:8080/search?word=macbookにアクセスしてみましょう!

以下のように、検索したキーワード(macbook)と商品のリスト(titleとdescription)が含まれるJSONが返却されていたらOKです\(^o^)/

{"keyWord":"macbook","itemList":[{"name":"Macbook AIR MacBook 12 MacBook AIR カバー MacBook Pro Air / Pro / Retina マックブック ケース 11 / 12 / 13インチ","description":"【商品詳細】 ■対応機種:Air / Pro / Retina 11 / 12 / 13 インチ 全機種対応 ■マット加工 上質な質感 ■MacBookを保護しながらカラフルにコーディネート出来る商品です。   【関連ワード】 MacBook AIR 13インチ 11インチ  mac BOOK AIR mac BOOK AIR カバー mac BOOK AIR  mac BOOK AIR 11 ケース mac BOOK pro カバー mac book cover macbook pro macbook air macbook retina apple macbook MacBook MacBookプロ MacBookエアー MacBookレティーナ Air Pro Retina MacBookAir MacBookPro MacBookRetina Air11 Air13 Pro13 Pro15 Retina13 Retina15 MacBook12 Air cover Pro cover Retina cover MacBookcover マックブックAir マックブックPro マックブックRetina マックブック エアー プロ レティーナ"},{"name":"【新品】APPLE MacBook Pro Retinaディスプレイ 2600/15.4 MR942J/A [スペースグレイ] ノートパソコン","description":"■アップル Apple MacBook Pro Touch Bar 15インチ 2.6GHz 6コアIntel Core i7プロセッサ 512GB スペースグレイ [MR942J/A]   CPU:Core i7 2.6GHz/6コア メモリ容量:16GB 液晶サイズ:15.4 インチ 解像度 :2880x1800 ストレージ容量:SSD:512GB 駆動時間:10 時間 幅x高さx奥行:349.3x15.5x240.7 mm 重量:1.83 kg"},{"name":"Apple 13インチ MacBook Pro 256GB SSD スペースグレイ MPXT2J/A Retinaディスプレイ ノートパソコン MPXT2JA アップル","description":"■ディスプレイ:Retinaディスプレイ IPSテクノロジー搭載13.3インチ(対角)LEDバックライトディスプレイ、2,560 x 1,600ピクセル標準解像度、227ppi、数百万色以上対応 ■プロセッサ:2.3GHzデュアルコアIntel Core i5(Turbo Boost使用時最大3.6GHz)、64MB eDRAM ■ストレージ:256GB PCIeベースオンボードSSD ■メモリ:8GB 2,133MHz LPDDR3オンボードメモリ ■グラフィックス:Intel Iris Plus Graphics 640 ■フルサイズバックライトキーボード:12個のファンクションキー、4つの矢印キーを含むJIS配列準拠キーボード ■Wi-Fi:802.11ac Wi-Fiワイヤレスネットワーク接続、IEEE 802.11a/b/g/nに対応 ■Bluetooth:Bluetooth 4.2ワイヤレステクノロジー ■カメラ:720p FaceTime HDカメラ ■サイズ:高さ:1.49 cm×幅:30.41 cm×21.24 cm ■重量:1.37 kg ■同梱物:13インチMacBook Pro、61W USB-C電源アダプタ、USB-C充電ケーブル(2 m) ※アップル社製品につきましては初期不良・不具合などが発生した場合、お客様から直接メーカー窓口へのご依頼をお願いしております。予めご了承下さい。※代引き不可"},{"name":"MacBook フェルト ケース Macbook12 Macbook Air 13 Macbook Pro 13 15  Retina & Touch Bar 最新モデル対応 バッグ マックブック ノートパソコン","description":"■■■■■■こちらの商品はメール便はご利用いただけません。 配送方法は必ず宅急便をお選びください。■■■■■■  【商品説明】 フェルト素材のMacBook用 の収納バッグです。  マックブックまわりの小物も全てしっかりと収納できます。 シンプルで洗練されたデザインです。  サイズは13インチ用と15インチ用の2種類ご用意しており、 各モデルに対応出来るよう設計されております。 ※MacBook以外のノートPCでご利用になる場合はサイズをご確認ください。  【サイズ】 13インチ 縦240mm 横348mm  MacBook 12インチ (A1534) MacBook Air 13インチ (A1369,A1466) MacBook Pro 13インチ (A1278) MacBook Pro 13インチ Retina Display (A1425,A1502) MacBook Pro 13インチ (A1706,A1708) ※Late2016~2018  15インチ 縦265mm 横377mm MacBook Pro 15インチ (A1707) ※Late2016~2018   【注意事項】 ※配送方法は必ず宅急便を指定してください。 メール便には対応しておりません。 "},{"name":"MacBook 13 Pro/Air 2018 ケース 全7色 高品質 皮 革 11/12/15 レザー スリーブ マックブック プロ/エアー カバー Mac 11.6/13.3/15.4 インチ マック 黒ブラック","description":"【 Amazonで高評価レビュー多数! 】ビジネスマンを中心に幅広い層で人気のブランド「 V.M 」から、見た目と使いやすさを追求して作られた Apple MacBook Pro 13 スリーブケースの登場です。   【 超薄型 軽量化 防滴性 耐傷性 を搭載! 】使う側にとって嬉しい機能を充実させました。それでいて、高級感を醸し出すレザーの面持ちとシンプルで落ち着いたデザインは、ビジネスマンを中心に評価を集めています。   【 材質に最高級のPUレザーを採用! 】本革よりも軽くて雨に強いといった特徴は、MacBookケースとして最も適した素材を選んで作られています。なおかつ、本革を凌ぐほどの上品さが漂うレザー感は、貴方の マックブック プロ 13 を一段とおしゃれにしてくれます。   【 スッキリしたスタイリッシュなデザイン! 】余計な装飾がないからバッグに入れて持ち歩くのに最適です。「薄さ」「軽さ」「使いやすさ」「洗練されたフォルム」といったマックブック本来の特徴を損なうことなく、傷や汚れから守ってくれます。"},{"name":"MacBook Pro 2018対応 13インチ カバ− ケース Touch Bar搭載/非搭載モデル ハード シェル 透明 クリア 黒 ブラック","description":"ポリカーボネート素材を使用、Appleロゴまで完全カバーし、MacBook本体を傷や汚れから保護します。 底部には放熱用の排熱口が設計され、 熱の心配はナシでどんな季節でもお使いいただけます。 ゴム足を採用し、テーブルとの摩擦を増強し、外れ滑りにくい。 USBポートなどMacbook各機能ホール部分の加工が丁寧に仕上がって、 Macbookカバーを着装したままアクセス可能です。 シンプルでスタイリッシュな超薄型デザインで飽きないスタイリング! 光沢タイプで、つややかな質感を実現しました。 ※ご購入の前に、必ずMacBook対応モデルをご確認ください。モデルIDの確認は、MacBook本体の裏面をご覧ください。  仕様 対応機種:最新 2018 & 2017 & 2016年 MacBook Pro 13 インチ Retina Display付き [A1989/A1706] タッチバー / [A1708] タッチバー無し。Macbookのモデルナンバー「A1xxx」をご確認の上お買い求めください。 素材:PC(ポリカーボネート素材) サイズ:(31.8 x 22.4 x 1)cm (L x W x H)約 重量:280g "},{"name":"MacBook カバー MacBook  Pro / Retina マックブック ケース 15インチ","description":"【商品詳細】 ■対応機種:Pro / Retina 15インチ 全機種対応 ■マット加工 上質な質感 ■MacBookを保護しながらカラフルにコーディネート出来る商品です。   【関連ワード】 MacBook AIR 13インチ 11インチ  mac BOOK AIR mac BOOK AIR カバー mac BOOK AIR  mac BOOK AIR 11 ケース mac BOOK pro カバー mac book cover macbook pro macbook air macbook retina apple macbook MacBook MacBookプロ MacBookエアー MacBookレティーナ Air Pro Retina MacBookAir MacBookPro MacBookRetina Air11 Air13 Pro13 Pro15 Retina13 Retina15 MacBook12 Air cover Pro cover Retina cover MacBookcover マックブックAir マックブックPro マックブックRetina マックブック エアー プロ レティーナ"},{"name":"Macbook Air 13インチ Retina スキンシール ケース 新型 2018 フィルム wraplus ローズウッド","description":"■商品名:wraplus for Macbook Air 13インチ  ■商品説明: ・Macbook Air 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・木目に沿って表面に凹凸があり、より天然木に近い質感を再現しています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。 ※木目は製品により異なりますので予めご了承下さい。  ■商品内容: ・スキンシール(3パーツ)各1枚   ■対応機種:Macbook Air 13インチ ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 11.6インチ 13.3インチ 液晶 保護 シート フィルム トラックパッド デカール ロゴ アップル CM エアマック マックエアーデザイン 2015 2014 2013 2012 2010 2009 mid late early マット case シェル wrapple おしゃれ 人気 おすすめ クリア 薄い"},{"name":"【予約販売】【送料無料】【中古】整備済み!MacBook/13インチ/Core2Duo/HDD250GB/メモリ4G/Late 2008(A1278)MB466J/A","description":"整備済み!MacBook/13インチ/Core2Duo/HDD250GB/メモリ4G/Late 2008(A1278)MB466J/A  【予約商品の為、御注文から7-10日程でお届けになります。】"},{"name":"Macbook Pro 13インチ スキンシール ケース カバー フィルム 2018 2017 Retina 対応 wraplus 選べる31色 シルバーブラッシュメタル","description":"■商品説明: ・Macbook Pro 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・表面のラインに沿って凹凸があり、より金属に近い質感を再現しています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。  ■商品内容: ・スキンシール   ■対応機種: Macbook Pro 13インチ(Late2016〜最新モデル) Macbook Pro Retina 13インチ(Late2012〜Early2015) 旧型 Macbook Pro 13インチ(Mid2009〜Mid2012) ※機種がご不明な場合は、MacBookの電源を入れて画面左上に表示されるApple (_) メニューの「この Mac について」から製造年をご確認ください。  ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 13.3インチ 液晶 保護 シート フィルム トラックパッド デカール ロゴ アップル ゴールド ネイビー ブラック ブロンズ 金 銀 黒"},{"name":"Macbook Pro 13インチ スキンシール ケース カバー フィルム 2018 2017 Retina 対応 wraplus 選べる31色 ブラックレザー","description":"■商品説明: ・Macbook Pro 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・模様にそって表面に凹凸があり、本革のような高級感のある質感です。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。  ■商品内容: ・スキンシール   ■対応機種: Macbook Pro 13インチ(Late2016〜最新モデル) Macbook Pro Retina 13インチ(Late2012〜Early2015) 旧型 Macbook Pro 13インチ(Mid2009〜Mid2012) ※機種がご不明な場合は、MacBookの電源を入れて画面左上に表示されるApple (_) メニューの「この Mac について」から製造年をご確認ください。  ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 13.3インチ 液晶 保護 シェル おしゃれ 人気 おすすめ クリア 薄い 薄型 黒 白 革製 ブラック ホワイト"},{"name":"Macbook Pro 2018対応 マルチハブ 高品質アルミ仕様 USB Type-C USB3.0 2ポート microSD SD カードリーダー 5in1","description":"【商品説明】 Macbook pro向けのデザイン MacBook Pro 13インチや15インチに対応します。 Macbook 12インチも接続可能。 MacBook、Chromebook Pixel及び他のUSB-Cデバイスに給電でき(PD)、データを転送する同時に、デバイス充電することができます。 5-in-1 USB CハブでMacBook Pro周辺機器を一括接続! Macbookで使用の場合はOSのバージョンを最新にしてご使用ください。 サポートシステム:WinXP、Vista、WIN7、WIN8、MAC    製品仕様  ◆サイズ:8.4×2.8×0.9cm(本体のみ) ◆重量:約25g(本体のみ) ◆インターフェース:USB 3.1 Type-C ◆スロット:SDカード専用スロット ×1、microSDカード専用スロット ×1  USB3.0ポート ×2、USB Type Cポート ×1 ◆消費電流:20mA - 50mA ◆転送速度:最大 5Gbps ◆対応OS:Windows 7 以降、Mac OS 10.5 以降 ◆生産国:中国 "},{"name":"MacBook Pro Retina Air 11.6 13.3 15.4 インチ ケース MacBook 12用 インナー ケース ケース カバー フェルト ケース 封筒型 ノートパソコン","description":"ハンドメイドレザーケース 。 シンプルなデザインですが、細部の作りにこだわり、大人の高級革製品としてのクオリティーを追求しました。  高級ハンドメイドレザーケース 、単なるパソコンカバーの域ではなく、高級バッグや高級財布などと並べたくなる様なクオリティを求めました。  パソコンを優しく包み、出し入れの時はしっとりとした高級感ある感触を味わえます。 ステッチは、熟練した革職人が足踏みミシンを使い、一目ずつ丁寧に縫製しています。  ※写真のポーチは付属致しません。  対応機種 ☆MacBook 12 インチ ☆MacBook Air 11.6 インチ ☆MacBook Air 13.3 インチ ☆MacBook Pro 13.3 インチ ☆MacBook Pro Retina 13.3 インチ ☆MacBook Pro 15.4 インチ ☆MacBook Pro Retina 15.4 インチ 他:ノートパソコン11.6〜15.4インチ   "},{"name":"MOOSE macbook air ケース 13インチ macbook pro ケース pcインナーバック ノートパソコンケース 衝撃吸収","description":"メーカー・ブランド:MOOSE TOKYO  対応機種:macbook pro 2016 13 / Macbook Air 13、Macbook Pro 13、Macbook Pro Retina 13、Lenovo 12.5インチ、Ipad pro 12.9、LaVieZ lz550、vaio pro13 mk2(13.3インチまでの薄型ノートPC Ultrabook、Macbook対応)外部サイズ:25CM*34CM*2CM 内部サイズ:24CM*33CM*1.5CM 縫製品のため個体差により、上記サイズと実際のサイズで誤差が発生する場合があります。必ず収納可能かサイズをご確認ください。   ノートパソコンを保護しながら簡単に持ち運べるおしゃれなインナーケースです。  軽量で保護力も備えた丈夫なポリアミド繊維素材を使用し、キズや衝撃からノートPCを保護します。  精密な機器収納部は手触りの良いフワフワ素材を使用してり、少しでもキズがつきにくいようにしています。  背面にはファスナーのポケットが付いており、ACアダプタやスマホなどなどを十分収納することができます。"},{"name":"Macbook Air 13インチ Retina スキンシール ケース 新型 2018 フィルム wraplus ブラックカーボン","description":"■商品名:wraplus for Macbook Air 13インチ  ■商品説明: ・Macbook Air 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・模様に沿って表面に凹凸があり、本物のカーボンに近い質感を再現しています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。  ■商品内容: ・スキンシール(3パーツ)各1枚   ■対応機種:Macbook Air 13インチ ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 11.6インチ 13.3インチ 液晶 保護 シート フィルム トラックパッド"},{"name":"Macbook Air 13インチ Retina スキンシール ケース 新型 2018 フィルム wraplus オーク","description":"■商品名:wraplus for Macbook Air 13インチ  ■商品説明: ・Macbook Air 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・木目に沿って表面に凹凸があり、より天然木に近い質感を再現しています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。 ※木目は製品により異なりますので予めご了承下さい。  ■商品内容: ・スキンシール(3パーツ)各1枚   ■対応機種:Macbook Air 13インチ ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 11.6インチ 13.3インチ 液晶 保護 シート フィルム トラックパッド デカール ロゴ アップル CM エアマック マックエアーデザイン 2015 2014 2013 2012 2010 2009 mid late early マット case シェル wrapple おしゃれ 人気 おすすめ クリア 薄い"},{"name":"Macbook Air 13インチ Retina スキンシール ケース 新型 2018 フィルム wraplus オレンジ","description":"■商品名:wraplus for Macbook Air 13インチ  ■商品説明: ・Macbook Air 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・表面には防汚加工を施し、微細な凹凸のあるザラザラとした質感となっています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。  ■商品内容: ・スキンシール(3パーツ)各1枚   ■対応機種:Macbook Air 13インチ ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 11.6インチ 13.3インチ 液晶 保護 シート フィルム トラックパッド デカール ロゴ アップル CM エアマック マックエアー デザイン 2015 2014 2013 2012 2010 2009 mid late early マット case シェル wrapple おしゃれ 人気 おすすめ クリア 薄い"},{"name":"Macbook Pro 15インチ スキンシール ケース カバー フィルム 2018 2017 Retina 対応 wraplus 選べる31色 ネイビーブラッシュメタル","description":"■商品説明: ・Macbook Pro 15インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・表面のラインに沿って凹凸があり、より金属に近い質感を再現しています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。  ■商品内容: ・スキンシール   ■対応機種: Macbook Pro 15インチ(Late2016〜最新モデル) Macbook Pro Retina 15インチ(Mid2012〜Mid2015) 旧型 Macbook Pro 15インチ(Late2008〜Mid2012) ※機種がご不明な場合は、MacBookの電源を入れて画面左上に表示されるApple (_) メニューの「この Mac について」から製造年をご確認ください。  ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:トラックパッド デカール ロゴ アップル CM マックプロ レティナ 2015 2014 mid late early case シェル おしゃれ 人気 おすすめ クリア 薄い+ 金 銀 黒"},{"name":"Macbook Pro 13インチ スキンシール ケース カバー フィルム 2018 2017 Retina 対応 wraplus 選べる31色 ブラック 黒","description":"■商品説明: ・Macbook Pro 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・表面には防汚加工を施し、微細な凹凸のあるザラザラとした質感となっています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。  ■商品内容: ・スキンシール   ■対応機種: Macbook Pro 13インチ(Late2016〜最新モデル) Macbook Pro Retina 13インチ(Late2012〜Early2015) 旧型 Macbook Pro 13インチ(Mid2009〜Mid2012) ※機種がご不明な場合は、MacBookの電源を入れて画面左上に表示されるApple (_) メニューの「この Mac について」から製造年をご確認ください。  ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:ケース カバー ジャケット キーボード ガード スリーブ インナー 13.3インチ 液晶 保護 シート フィルム トラックパッド デカール 黒 赤 青 白 緑 黄色 ブラック ホワイト レッド ブルー グリーン イエロー"},{"name":"Macbook Pro 13インチ スキンシール ケース カバー フィルム 2018 2017 Retina 対応 wraplus 選べる31色 オーク","description":"■商品説明: ・Macbook Pro 13インチ専用のスキンシールです。商品画像内の機器本体は付属いたしません。 ・Macbook本来のデザインを損なうことなく、キズから本体を守ります。 ・木目に沿って表面に凹凸があり、より天然木に近い質感を再現しています。 ・耐久性に優れ、貼り直しも可能で、剥がす際にもノリが残りません。 ・設計から生産までを日本国内で行うことで、こだわりの品質を実現しました。 ※木目は製品により異なりますので予めご了承下さい。  ■商品内容: ・スキンシール   ■対応機種: Macbook Pro 13インチ(Late2016〜最新モデル) Macbook Pro Retina 13インチ(Late2012〜Early2015) 旧型 Macbook Pro 13インチ(Mid2009〜Mid2012) ※機種がご不明な場合は、MacBookの電源を入れて画面左上に表示されるApple (_) メニューの「この Mac について」から製造年をご確認ください。  ■材質:塩ビフィルム ■カラー:全31色 ■メーカー:wraplus(ラップラス) ■日本製  ■タグ:液晶 保護 トラックパッド デカール ロゴ アップル CM マックプロ レティナ case シェル おしゃれ 人気 おすすめ クリア 薄い 天然 ナチュラル 木 自然 植物"}]}

おわりに

今回、SpringBootでヤフーの商品検索APIを叩いてJSONで返してみました。

APIレスポンスのXMLをパースするがとても大変でした…。

ですが、サンプルコードを是非役に立ててもらえばと思います!

 

当ブログでは、SpringBootネタをたくさん投稿していきますので、今後も訪問しに来てくださると喜びます。( ´ ▽ ` )それでは!

コメント

タイトルとURLをコピーしました