2

リクエストを含む HTTP REST API を実装しています/feed。リクエストは、ユーザーのニュース フィードを返します。

リクエストには、 、userIdフォロワーのリスト、startTimeなどのいくつかのパラメータが含まれていますmaxItems

サーバー側 (Python と Flask) で実装する最も簡単な方法は、引数を読み取ることができる JSON ペイロードを追加することです。

GET残念ながら、リクエストにペイロードを追加することはお勧めできません。多くのクライアント ライブラリではサポートされていません。

私のオプション:

  • リクエストを作成/feedPOSTます。POSTサーバーから情報を要求するために使用されるべきではないため、醜いです。
  • ( ) と( ) への/feed呼び出しを分割します。通話が終わってからしか通話できないので時間の無駄です。/updateFollowersPOST/feedGETGETPOST

どちらのオプションも間違っているようです。GET一連の複雑な引数を使用して -like 呼び出しを行う標準的な方法はありますか?

4

1 に答える 1

1

/feed 呼び出しを /updateFollowers (POST) と /feed (GET) に分割します。GET 呼び出しは POST 呼び出しの後でしか実行できないため、時間が無駄になります。

おそらくご存知のように、REST には実際にはルールがありませんが、私の意見を共有したいと思います。このようにリソースに「リクエスト タイプの動詞」を入れるのは非常に見苦しいので、私はこれを行いません。

/feed を POST リクエストにする。サーバーから情報を要求するために POST を使用するべきではないため、これは見苦しいものです。

これが醜いと思う理由がわかりました。ただし、この質問のトップの回答に記載されているように、POST リクエストを使用してデータを取得するのは間違っているように思えます。

RESTful 検索を実装する最善の方法は、検索自体をリソースと見なすことです。次に、検索を作成しているため、POST 動詞を使用できます。POST を使用するために、文字通りデータベースに何かを作成する必要はありません。

これはあなたがやっていることと似ているので、POST を使用することはそれほど悪い考えではないかもしれません。より良い代替手段が見当たらないので、おそらくこのように実装したいと思うでしょう。

于 2014-05-14T14:02:45.367 に答える