2017-08-22 7 views
1

これはおそらくロングショットですが、完全に非RESTfulなAPIでシエスタを使用することは可能でしょうか?私が処理しなければならないAPI(そして悲しいことに変更することはできません)は、純粋にデータを取得しているかどうかにかかわらず、すべてのリクエストがPOSTリクエストである必要があります。シスタと非穏やかなAPIの使用

私は質問/回答hereで読んだことがありますが、それは私に希望の光り輝くものですが、その質問と私の大きな違いは、各リクエストのエンドポイントです。私が使用しているAPIのために、彼らは:(

ひとつひとつの要求が/api/api_post.phpに投稿しなければならない、と他のすべての要求に指定されたパラメータとして指定されているすべて同じです。

もちろん、私は自分をロールバックすることができますこれを処理するための独自のリクエストラッパーがありますが、シエスタが提供する機能の一部を使用できるようにしたいと思っており、ネットワーキングを扱う際のすべての煩わしさを気にする必要はありません。

答えて

1

あなたのアプリケーションを想像上のREST APIで動作させてから、それをSiestaの鼻の下の落ち着きのないリクエストに変換することができます(例えば、GET /foo/3はtr POST /api/api_post.phpitem=foo&id=3とansformedしました。)少し面倒ですが、非REST APIの場合でもシエスタのメリットがあります。

  1. 使用mutateRequests(…)がリクエストを書き換える:

    はこれを実装するには2つの方法があります。これにより、送信前にURLRequestを任意に変更できます。

  2. あなた自身でNetworkingProviderを作成してください。これはちょっと面倒ですが、書き換えの制御をより徹底的に行います。たとえば、レスポンスを書き直す必要がある場合や、1つの仮想リクエストを複数の実際のリクエストに書き換える必要がある場合など、このアプローチがさらに適しています。

discussion hereの詳細。

+0

完璧ありがとう!私はそれらを介して読んで、うまくいけば私は何かを設定することができます:) – PaReeOhNos

関連する問題