2017-06-07 9 views
0

私はフォームを記入して投稿することでデータを要求する機能を開発しています。フォームには、ユーザーの詳細(名前、電子メール、モバイルなど)が含まれています。これらの詳細は、リードとしてデータベースに保存する必要があります。リードデータが正常に保存されると、要求されたデータのみがデータベースから検索され、ユーザに示されなければならない。REST - フォームデータをポストして別のリソースを取得するためのApiデザイン

私は、以下の2つのAPIに分割し、リードリソースを作成する

  1. A POST API順次、それを呼び出すことで、この問題に探し始めました。
  2. POSTの成功時に要求されたリソースを取得するためのGET API。

しかし、私は、私は2つの別々のネットワーク要求を順次ことになるだろうと私はスピードに妥協することはできませんように、溶液は、データ検索の速度に影響を与えることを実感しました。

どのように速度を犠牲にすることなくこの問題を解決できますか? POSTリクエストを使用し、リクエストされたデータをレスポンスに返す必要がありますか?

P.S.両方のAPIを並行して呼び出すことはできません。

答えて

2

はい、まさにあなたがすべきことです。POST要求は、クライアントが後で使用できる新しく作成されたリソースで応答する必要があります。

+0

私は最初にPOSTを発射し、クライアントからGETすることをお勧めしますか?はいの場合、データ検索のスピードを妨げないでしょうか?明確にするために、GETリクエストは新しく作成されたリソースを使用しません。 POSTとGETは別のリソースで動作します – nak

+0

私はあなたがあなたの 'POST'から受け取った応答を使うべきだと言っています。別の' GET'ではなく –

1

あなたはウェブ開発者の視点からこの問題について考えていました。あなたはこのバイトストリームを持っていて、それをクライアントに送るにはフォームの提出は必要ありません.GETリクエストで十分です。しかし、ビジネスの観点から見ると、ファイルを取得するにはフォームの提出、つまりユーザーの個人データが必要です。ユーザーの観点からも、それは単一の操作です。ユーザは、所望の応答(例えば、ファイルのダウンロード)を出すために必要なデータを送信する。入力データの保存(ユーザーのプライベートな詳細)は、ユーザーが意図した結果ではなく、副作用です。

このように、ユーザーデータを送信して保存し、要求されたリソースで応答する単一のPOST要求は、状況をカバーするのに十分です。

関連する問題