web-dev-qa-db-ja.com

RESTfulサービスをデバッグする方法は?

RESTfulサービスをデバッグする簡単な方法を探しています。たとえば、ほとんどのwebappsは、平均的なWebブラウザーを使用してデバッグできます。残念ながら、同じブラウザでは、HTTP PUT、DELETE、さらにはある程度HTTP POSTをテストすることはできません。

テストを自動化するつもりはありません。理想的には、独自のクライアントを作成せずに、迅速な健全性チェックを通じて新しいサービスを実行したいと考えています。

57
Gili

RESTClient のように、要求と応答を簡単に検査できる既存の「RESTクライアント」ツールを使用します。

34
Peter Hilton

私の会社では、RESTfulサービスのテストにさまざまなツールとアプローチを使用しています。

  • cURL scripts-基本的にファイルに保存された単一のコマンドを記述します。メソッドごとのリソースごとに1つのファイル。 PUTおよびPOSTの場合、通常、cURLスクリプトと共に送信する表現を含むファイルがあります。たとえば、メールボックスリソースの場合、mailbox_post.cmdという名前のファイルに、curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailboxという行が含まれている場合があります。バッチで実行できるか、少なくともテスター間で受け渡しできるテストのコレクションを構築し、回帰テストに使用するため、このアプローチが気に入っています。

  • アドホックテストにはcURLと RESTClient を使用します

  • このサービスはデフォルトでXHTMLを提供するため、閲覧可能で、フォームリソースを追加します。したがって、サービスは実際にはブラウザーを使用して部分的または完全にテスト可能です。これは RESTful Web Services の一部に触発されたものです。著者は、WebサービスとWebアプリケーションの間の境界線が通常想定されるほど堅固で厳密である必要はないかもしれないことを示しています。

  • Restlet フレームワークを使用して、機能テストを Groovy クロージャーとして記述し、テストランナーのGroovyスクリプトでテストを実行します。必要に応じて、テストはステートフルであり、相互に構築し、変数を共有できるため、これは便利です。 RestletのAPIはシンプルで直感的で、簡単なHTTPリクエストを記述して応答をテストするのが簡単であり、Groovyで使用するとさらに簡単になります。 (テストランナースクリプトを含むこのテクニックを 私たちのブログ で共有したいと思っています。)

15
Avi Flax

Postman 、Google Chrome拡張機能、役立つかもしれません。

13
Yasin Okumuş

RequestBinはデバッグに役立ちますRESTリクエスト。一意のURLへの投稿とリクエストデータは更新/表示されます。他のツールが利用できない場合はピンチに役立ちます。

https://requestbin.com/

8
John Hodorowicz

OS X Leopardを実行している場合に役立つツール:

HTTPクライアント

これは、リソースへのhttp要求を作成し、応答を表示できる非常にシンプルなGUIプログラムです。

5
vamin

Fiddlerの Composer を使用してデバッグすることができます restful services ..

JD 12 Sep 2013を更新:Rest BuilderComposerと呼ばれるようになりました。

4
Gulzar Nazim

cURLは問題なく動作します。

4
Hank Gay

私は [〜#〜] postman [〜#〜] に落ち着きました

すべてのREST私が考えることができる機能をサポートし、UIは絶対に優れています。唯一の欠点は、Chromeを必要とすることです。

3
Gili

Soap UIを使用して、REST APIをテストしています。

他のどのツールよりも完全です:

  • 細かいデバッグ要求と応答
  • 自動テスト
  • すべてのGUIベース
  • プロパティとプロパティの転送によるテストのパラメーター化
  • 条件付きテスト
  • 性能試験

私はSmartBearで働いていません。 SOAP WebServicesにSoapUIを使用している間、私はすでにSoapUIの大ファンでした。

My SoapUI REST Project

2
Tony Baguette

RESTTest Firefox(アドオン)の場合。 フィドラー IEの場合。

2
system PAUSE

Google Code から入手できるrestclientを使用します。これは単純なJavaすべてのHTTPメソッドをサポートし、HTTPヘッダー、接続などを完全に制御できるSwingアプリケーションです。

0
Ian Dickinson

ここに完全に欠けているため: https://luckymarmot.com/Paw

今までペニーの価値がある...

0
Toby

Nice RESTクライアントが付属している Jersey を使用して、RESTfulリソースの単体テストを作成する傾向があります。 JAX-RSは、JerseyクライアントがJAXB/XML/JSON/Atomなどのエンティティプロバイダーを再利用できるため、クライアント側の単体テストで使用するのと同じオブジェクトをサーバー側で再利用できます。

たとえば、 は単体テストケースApache Camelプロジェクトから RESTfulリソースからXMLペイロードを検索します(JAXBオブジェクトエンドポイントを使用) )。 resource(uri)メソッドは、 this base class で定義されており、JerseyクライアントAPIを使用しています。

例えば.

clientConfig = new DefaultClientConfig();
client = Client.create(clientConfig);

resource = client.resource("http://localhost:8080");
// lets get the XML as a String
String text = resource("foo").accept("application/xml").get(String.class);
0
James Strachan

Peter Hiltonの回答にあるツールの1つを使用する以外に、LWPまたは同様のツールを使用してテストのスクリプトを作成することが唯一の選択肢であると言わなければなりません。 couldソケットを開いて生のHTTPリクエストを送信し、返される内容を調べるだけでLWPの使用をバイパスします。しかし、私が知る限り、この種のドメイン用のテストツールは不足しています。ほとんどの場合、この問題スペースは主にWebサイト開発者のレンズから見たものであり、ブラウザはテストプラットフォームとして十分です。 。

0
rjray

Firefoxには RESTClient プラグインがあり、メソッド、パラメーター、ヘッダーなどの異なるリクエストを送信します。

0
Amit Patel

マルチパートフォームデータ送信の追加機能を備えた同じ目的の無料ツールが必要な場合は、こちらにあります http://code.google.com/a/eclipselabs.org/p/restclient-tool/

0
Yadu

皆さんは poster firefoxの拡張子を確認する必要があります。それは使用するのに十分シンプルで便利です:)

0
nXqd