私のWebページで、動的なドロップダウン(選択した国に基づく都市名など)を表示したい場合は、AJAXを使用して行うことができます。しかし、REST呼び出しを使用してそれを行うこともできます。それで、どちらを使うべきですか?
私の問題は、RESTと他のHTTPブラウザーリクエストの違いが本当にわからないことです(別名、フォーム送信)。RESTこれはHTTPリクエストと同じように見えますが、RESTはAJAXと本質的にどのように違うのですか?
AJAXを使用してそれを行うことができます。しかし、REST呼び出しを使用してそれを行うこともできます。
いいえ。これら2つは完全に直交しています。サーバーから取得する必要があるデータでページを更新する場合は、AJAXを使用してwillを実行します。他に方法はありません。そして、AJAX call can RESTを使用する、または他の何かを使用します。
私の問題は、RESTとHTTPブラウザーリクエストの違いを本当に得られないことです(別名、フォーム送信)。RESTの正式な定義を見てきました。そしてそれはHTTPリクエストのようです。
A [〜#〜] rest [〜#〜]呼び出しis HTTPリクエストを常に行います。通常のブラウザ呼び出し(フォーム送信など)を処理して完全なHTMLページを返すために使用できますが、データは(通常はJSON形式で)のみを返すAPI呼び出しの処理に通常を使用します。
では、なぜ別の名前になっているのでしょうか?
RESTはHTTPを使用する特定のスタイルであるため、間違いなく、本来使用することを意図していたが、ほとんどの人は「取得」せず、ほぼ20年間ほとんど使用されなかったため、HTTPを使用する。
具体的には、RESTは、URL自体(通常はIDを介して)で取得または操作するエンティティをエンコードし、使用するHTTPメソッド(GET for取得、POST、作成の場合はPUT、削除の場合はDELETE)。
AJAXとRESTは実際のユースケースの代替にはなりません。AJAXは非同期のJavaScriptとXMLを表すので、ブラウザのリクエストが完了した後でJavaScriptを使用してデータをロードしている場合は、AJAXを実行しています。
一方RESTは、Representational State Transferを表しており、Stefan Billetが指摘したように、HTTPリクエストを使用してデータを転送します。したがって、RESTは実際には1つの方法ですAJAX with。SOAPは別の方法ですが、これはあなたの質問に対してトピック外です。したがって、あなたの質問は、「どのユースケースに最適なテクノロジーですか?」
この場合、ドロップダウンで使用されるデータの量について考えることをお勧めします。要素が数個しかない場合は、すべてをページに配置し、JavaScriptを使用して適切な要素を表示することができます。 2番目のオプションは、REST呼び出しをJSONで表現したものを使用することです。JavaScriptで簡単に使用でき、非常に軽量であるため、もちろんAJAXを使用することになります。
RESTは、HTTP動詞GET、POST、PUT、DELETEを使用して、サーバー上のリソースをそれぞれ取得、挿入、更新、削除します。例えば。 URLを指定して取得:controller/customer/{id}
代わりに、GetCustomerById(id)、InsertCustomer(customer)、UpdateCustomer(customer)、DeleteCustomer(customer)などのメソッドをコントローラに追加します。これはRPCアプローチとして知られているものです。例えば。次のURLでGET:controller/GetCustomerById?id = {id}
違いの1つは、REST apiは予測可能なものです。RESTを知っていて、必要なリソース(例:Customer)を使用すると、すぐにジャンプしてRESTコントローラを標準の動詞で使用できます。
RPCアプローチでは、コントローラーにどのメソッドがあるか、それらが取る引数の種類などを知る必要があります。これらのシグネチャは、コントローラーごと、アプリごとに異なる場合があります。
一方、AJAXは、REST呼び出しまたはRPC呼び出しのいずれの場合でも、前述の要求を配置する非同期の方法です。