---
title: 開発中にHTTPリクエストを簡単にテストする方法
date: 2021-01-20
categories:
  - development
  - json
  - xml
tags:
  - debugging
  - http-testing
  - json
  - web-services
  - xml
  - xml-editor
  - xmlspy
description: XMLSpyを使用すると、Webサービスなどをデバッグできます。HTTPリクエストを簡単にテストできるため、API、Webサービス、Webサイトなどのデバッグに役立ちます。
---
Status: #blog

Tags:  #debugging #http-testing #json #web-services #xml #xml-editor #xmlspy

Categories: [development](/blog/ja/category/development.md) | [json](/blog/ja/category/json.md) | [xml](/blog/ja/category/xml.md)
# 開発中にHTTPリクエストを簡単にテストする方法

ウェブやウェブサービスの開発者は、APIのテスト、RESTやSOAPといったウェブサービスのテスト、またはウェブサイトの管理など、さまざまな目的でHTTPリクエストを送信する必要があることがよくあります。

[XMLSpy](https://www.altova.com/ja/xmlspy-xml-editor/)は、HTTPウィンドウとWADL/WSDLインポートウィザードを備えており、開発中にXMLおよび[JSONエディタ](https://www.altova.com/ja/xmlspy-xml-editor/json_editor)でHTTPリクエストを直接送受信できるため、ウェブサービスのデバッグ作業を効率化する優れたツールです。

![ウェブサーバー - HTTPリクエストのテスト](/blog/images/shutterstock_259245062.jpg)

<!--more-->

**HTTPリクエストのテスト**

HTTPプロトコルは、インターネット上でファイル（テキスト、画像など）がどのように送受信されるかを定義しています。すべてのウェブサーバーには、HTTPリクエストを常に待ち受け、受信したリクエストを処理するプログラム（デーモンと呼ばれる）が稼働しています。

例えば、ウェブサイトのホームページにアクセスすると、ブラウザはウェブサイトのウェブサーバーに対して、ホームページのダウンロードを要求するHTTPコマンドを送信します。サーバーのHTTPデーモンがその要求を受け取り、要求されたページを送信します。重要な点として、HTTPプロトコルはステートレスであるため、各HTTPコマンドは独立して実行され、過去または今後のコマンドとの関連性はありません。このため、テストやデバッグが困難になることがあります。

開発者の皆様を支援するため、XMLSpyに搭載されている[HTTPテストウィンドウ](https://www.altova.com/ja/xmlspy-xml-editor/advanced#http-window)は、ウェブサーバーに対してHTTPリクエストを作成し送信するプロセスを段階的に案内します。その後、受信したレスポンスを確認し、問題が発生した場合はトラブルシューティングを行うことができます。

![HTTPリクエストのテスト](/blog/images/http-testing-window.png)

ウィンドウの左側のパネルには、リクエストの内容が定義されており、その内容は以下の要素で構成される場合があります

- リクエストのHTTPメソッド（GET、PUT、POSTなど）と、対象となるURL
- リクエストのHTTPヘッダー
- 接続設定（例：タイムアウト設定、セキュリティオプション）
- POSTメソッドとPUTメソッドの場合、HTTPメッセージの本文は以下のようになります

HTTPウィンドウには9つのタブが用意されており、これらを使って複数のメッセージを保存・テストし、必要に応じてそれらの間で切り替えることができます。

リクエストが定義されたら、「送信」ボタンを押して、ウェブサーバーに送信します。送信後、右側のペインでその応答をすぐに確認できます。このペインには、本文（上記に表示）とヘッダー情報が表示されます

![HTTPヘッダー応答](/blog/images/http-header-response.png)

**WADLまたはWSDLリクエストのインポート**

また、別の場所からリクエストをインポートすることで、テストを開始することも可能です [WADL (略語)](https://www.w3.org/Submission/wadl/) (Webアプリケーション記述言語) ファイルは、HTTPベースのアプリケーションに関する機械が読み取れる形式の説明を提供します。または、それに関連する情報が含まれている場合があります [WSDL](https://www.w3.org/TR/2001/NOTE-wsdl-20010315) SOAPウェブサービスのエンドポイントに関する説明書。

XMLSpyのHTTPウィンドウには、WADL/WSDLインポートウィザードが搭載されており、これにより、ファイルの読み込み、テスト用のリクエストの選択、およびリクエストの編集可能なパラメータの変更といった一連の手順を簡単に行うことができます。

その後、そのリクエストがHTTPウィンドウにインポートされ、送信してレスポンスを確認することができます。

![ WADLリクエストのテスト](/blog/images/test-wadl-request.png)

**REST API のデバッグ**

HTTPウィンドウを使って、ウェブAPIからの応答をテストする、実際の例を見てみましょう [シカゴ市 データポータル](https://data.cityofchicago.org/) これは、公共機関が提供するREST APIで、建築許可に関する情報から地方自治体の予算、都市における喘息患者の入院件数など、様々な興味深いデータを提供しています。

今回の例では、交通関連のデータを取り上げ、特に信号無視のデータセットに焦点を当てます。HTTPウィンドウにURLを入力することで、データセット全体を取得できます。また、リクエストの最後に".xml"または".json"を付加することで、返されるデータの形式を指定できます。今回はXMLを選択しましたが、もちろんXMLSpyには、どちらの形式にも対応したツールが標準で搭載されています。以下に、HTTPウィンドウから返された結果を示します。

![APIリクエストのデバッグ](/blog/images/api-request.png)

結果ウィンドウでデータを確認することもできますし、「新しいドキュメントの作成」をクリックして、XMLSpyのテキスト表示またはグリッド表示でドキュメントを開くこともできます。こうすることで、APIから返されたデータをより簡単にスクロールして確認できます。

![グリッド表示におけるHTTPレスポンス](/blog/images/grid-view.png)

ファイルにデータが格納されている場合、さらに詳細な分析を行うために、[XQuery](https://www.altova.com/ja/xmlspy-xml-editor/xquery-editor)を使用することも可能です。ここでは、20件以上の違反が発生しているカメラの場所について見ていきましょう。

![XQueryを使用してAPIデータを照会します](/blog/images/xquery-api-data.png)

それでは、今度はデータをJSON形式で取得してみましょう。

こちらがテキスト表示で開かれた状態です

![JSON形式のHTTPレスポンス](/blog/images/http-response-json.png)

そして、それ以外にも、お客様は～ことができます [JSON形式のデータを表示します](https://www.altova.com/ja/xmlspy-xml-editor/json_viewer) XMLSpyの独自のJSONグリッドビューを使用すると、データをグラフィカルに表示できます。このJSONグリッドにより、特に大量のデータセットを扱う場合に、データの確認や理解が格段に容易になります。また、JSONエディターには、XQueryを使用したデータフィルタリング機能も組み込まれており、以下にその例を示します。ここでは、ハルステッド通りを含むレコードのみを表示するようにデータをフィルタリングしています。

![XQueryを使ったJSONデータのフィルタリング](/blog/images/json-xquery-filter.png)

HTTPウィンドウは、組み込みの表示・編集ツールと合わせて、XMLSpyをAPI、Webサービス、その他のHTTPアプリケーションのテストやデバッグに最適なツールとしています。

ダウンロードする [XMLSpyの無料トライアル版](https://www.altova.com/ja/xmlspy-xml-editor/download) HTTPウィンドウを試してみる。
