1

Restful API は、get、post、put、または delete リクエスト メソッドのいずれかを使用する必要があります。送信される動作とデータは、uri 文字列によって完全に決定されます。クエリ パラメータやポスト変数はありません。

これは本当ですか ?

有効 :http://example.com/foo/84

無効:http://example.com/foo/?value=84

有効 :

$.ajax({
  type: 'POST',
  url: "http://example.com/foo/84",
  success: success,
  dataType: dataType
});

無効:

$.ajax({
  type: 'POST',
  url: "http://example.com/foo/",
  data: 84,
  success: success,
  dataType: dataType
});

編集 これまでの2つの回答と、互いに矛盾しています。

4

3 に答える 3

3

POST 変数は間違いなく問題ありません。それ以外の場合、どのように新しいリソースを送信したり更新したりしますか?

GET パラメータは、リソースのレンダリング方法を指定するのに適しています。確かにhttp://example.com/foo/?value=84正しくありません - URL はリソースを表していません。

しかし、http://example.com/user/84?fields=first_name,last_name大丈夫でしょう。その場合は、追加のクエリ パラメータを使用して、そのリソースの名と姓のみが必要であることを指定します。

于 2012-07-17T12:58:49.100 に答える
-3

http://example.com/foo/?value=84それが有効でないと言うことは、完全に真実ではありません。つまり、有効な URL である限り機能し、get または post を介してパラメーターを取得できるということです。

一方、REST はアーキテクチャであり、その要求の 1 つはクリーンな URL (「?」を含むパラメーターを含まないもの) であるため、そのような URL は REST のような URL とは見なされません。

したがって、REST ベースのアプリケーションを構築する場合は、クリーンな URL のみを使用する必要があります。

編集:

以下のコメントから、RESTとは何かを理解するのに問題があることがわかります。そのため、簡単な例を挙げてみます。

  1. データを取得するには、おそらくhttp://example.com/foo/84get リクエストとして使用し、残りの FW は id 84 でリソース foo を取得することを知っています。
  2. foo に関するデータを投稿するには、次のように呼び出しますhttp://example.com/foo/84。POST リクエストとして、Rest FW は、投稿リクエストであるため、get を処理するメソッドではなく、post を処理するメソッドを呼び出すことを認識します。
  3. 削除するには、DELETE アクションで同じ URL を呼び出します。残りはご存知だと思います。

したがって、同じ URL を持っていても、それが GET/POST/PUT/DELETE 要求であるかどうかは非常に重要です。

于 2012-07-17T13:06:58.003 に答える