2012-03-10 11 views
1

私はモバイルアプリ(Sencha Touch)用のWebサービスを構築しており、これにアプローチするための適切な方法でハングアップしています(主観的に「正しい」可能性があります)。RESTful APIでパラメータにアプローチする方法

ここは私の状況です。
Googleカレンダーを消費してJSON経由でモバイルアプリにプッシュしています。私はここで2つの選択肢があり、私はこれについてどうやって行くのかは分かりません。

オプション1は、クエリー文字列を介してcalendarIDを渡すことです。これにより、必要に応じてモバイルアプリのコンフィグレーションでcalendarIDをスワップすることができます。

例:
http://example.com/calendar/events?callback=asdf


http://example.com/calendar/[email protected]&callback=asdf

オプション2 calendarID

例を更新するために、Webサービス上で設定ファイルを使用することです私はWebサービスにconfigを設定するのは賢明ですか、モバイルアプリから設定を渡すことができますか?

カレンダーは一般的に、すべてのユーザー

答えて

1

間で共有されている[注]、RESTfulなシステムでは、あなたはあなたに戻って渡されているもの以外の任意の公開データに頼るべきではありません。しかし、これは、パブリック・ユーザーが気にしない実装(プライベート)詳細のほうが多いようです。だから、私はそれがすべての要求で同じになるように聞こえるので、configにこれを格納するのに問題はないと思う。

これは少なくとも私の取り組みです。

+0

これはプライベートAPIです。それでは、あなたは「問題なし」をAppやAPIのconfig内に格納していると言いますか? –

+0

私はAPIに設定を保存することを言及しています。あなたがアプリケーションにそれを格納する必要がある場合、それは前後に渡される情報であり、パラメータ内になければなりません。 –

+0

私には妥当な音、ありがとう。 –

1

この2つのオプションのうち、オプション1は、RESTの原理に沿ってよりインラインと見なされます。

URIは、ユニークなリソースの識別子を意図しています。オプション2を実行した場合、ユーザーAとユーザーBの両方が、2つの異なるカレンダーを持っていても、カレンダー(http://example.com/calendar/events?callback=asdf)に同じURIを持ちます。

あなたのアプリケーションは、このURIへの応答方法を決定するために、設定ファイルの状態に依存しています。 RESTは通常、弁護士の無国籍者を支持しています。

+0

私があなたが言っていることに完全に同意している間、私はあなたがその記述を誤解しているかもしれないと思う(または私は:))。 calendaridはバックエンドの実装の詳細で、すべてのユーザーが同じです。私が誤解した場合、あなたは正しい、私は私の上の答えで説明したように:) –

+0

それを入手しました。質問からバックエンドで使用されたカレンダーは1つだけであることは明らかではありませんでした。アプリケーション全体の設定が適切であれば、エンドユーザーがそれを変更することは望ましくありません(エンドユーザーにURIの一部としてdb名を選択させることに似ています)ので、オプション2は行く道。良いキャッチ。 – nategood

+0

ええ、ごめんなさい。私たちのパブリック向けのアプリで、誰にでも1つのカレンダーを表示します。私はそれをより良く説明するべきだった。 –

関連する問題