Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
30
Help us understand the problem. What is going on with this article?
@hfuruya

Talendで始めるREST APIテスト

More than 1 year has passed since last update.

REST API のテストに関して、
GUIで分かりやすい!簡単にできる Talend(旧 Restlet) について整理します。
(私が使い始めた頃は Restlet という名前でしたが、最近提供元の社名 Talend に変わったようです)

そもそも REST とは?

Representational State Transfer (REST) は、ウェブのような分散ハイパーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。
...
フィールディングのREST原則に従うシステムは、しばしばRESTfulといわれる。
(出展 : Wikipedia)

... はい、よく分かりません。
RESTful API で調べても色々と出てきます。

参考

Talendとは?

REST APIのGUIテストツール(Chrome拡張機能)。提供企業は Talend社。
企業情報を確認すると、BI関連の会社かなとざっくり分かります。
私自身、久しぶりに Restlet を使おうとすると Talend という名前になっていて驚きました笑
数年前にRestlet社が Talend社に買収されていたようです(プレスリリース

インストール

  • ChromeウェブストアTalend API Tester と入力、検索する
    • 概要 : REST、SOAP、HTTP APIと視覚的に対話できます。
  • Talend API Tester - Free Edition をクリックする
  • Chrome へ追加 をクリックする
  • Chromeブラウザのアドレスバー右にアイコンが追加されたことを確認しクリックし、 Talend を開く

設定

  • MY DRIVE にカーソルを合わせ、右のボタンをクリックし、Add a project でプロジェクトを作成する
    スクリーンショット 2019-10-19 23.32.12.png

  • 作成したプロジェクト配下に Add a service で大項目を、その配下に Add a request で各APIのリクエストを作成する

    • プロジェクト作成時に作成される Scenario は一旦置いておく
  • 作成したリクエストをクリックし、API実行時に必要なパラメータ METHODHEADERSBODY を設定する

  • 右上の Add an environment で、ローカル、開発、ステージング、本番 などの各環境を追加する

    • Environment name に各環境名を入力する
    • 環境ごとに異なるホスト名などを変数化する
      • 変数はこんな感じ ${host} で使えます! スクリーンショット 2019-10-20 0.29.41.png
  • 後はAPIをガンガン追加していく!
    スクリーンショット 2019-10-20 0.33.41.png

  • Send ボタンでAPIを実行し、レスポンスを確認する

    • 下に実行結果が表示される

ある程度作ったら関係者に共有

  • 左下の Export で APIや環境設定をJSON形式で書き出せる(便利!)
  • 同、 Import > Import API Tester Repository からJSONファイルを読み込める(便利!!)
  • 自分用に作って終わりではなく、関係者に共有すればみんなハッピー!

実際に使ってみると

  • クライアントエンジニアの方は特にハッピー
    • 実際にサーバと結合する際、ソースにAPIへのリクエスト内容を組み込んでからレスポンスを確認するのではなく、組み込む前の確認や、各APIを横断的に即座に実行、確認もできるようになった
  • 同様の理由により、API開発側のサーバエンジニアも開発速度が向上した
  • また、(作りにも寄るが)クライアント側の実装前に、値を調整、確認する際にも使えそう
  • テストコードを書く文化はなかったが、これなら楽しい、始められそう!と思った

一方で

  • 開発時期は同時に複数のエンジニアが作業していたため、ある程度のJSONから各自の作業内容のJSONへ分岐していった
    • 結果、最終的なJSONを一人がまとめる作業をしていた
      • JSONはバージョン管理するのがいいかもしれません

  • Talend の他の機能を触っていきたい
  • Jenkins でCI回したい
30
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
hfuruya
クライアント / サーバ / インフラ 何でもやってます。 ここ最近の学びはまたまとめます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
30
Help us understand the problem. What is going on with this article?