36

私のユーザーは、iOS アプリでいくつかの情報フィールドに入力します。この情報は、RESTful API を備えたサーバーで検証する必要があります。検証後、iOS アプリの UI が変更され、結果が示されます。

リソースを取得しておらず、リソースも作成も更新もされていないため、GET、PUT、POST のいずれも適切ではないようです。

この検証を実装するのに最適な REST 操作は何ですか?

4

6 に答える 6

12

私はあなたと同じシナリオを使用し、そのために PUT を使用します。「同じリクエストを 2 回送信すると、サーバー上で異なる状態になりますか?」と自問する必要があります。はいの場合は POST を使用し、そうでない場合は PUT を使用します。

于 2013-08-13T21:02:53.143 に答える
9

ユーザーがiOS アプリでいくつかの情報フィールドに入力します。この情報は、RESTful API を備えたサーバーで検証する必要があります。検証後、iOS アプリの UI が変更されて結果が示されます....リソースが取得されず、リソースも作成または更新されません。

何も保存していない (リソースを変更していない) ため、これは技術的には RESTful よりも RPC に近いと思います。

以下は私の意見なので、それを福音と見なさないでください。

情報が単に送信されており、はいまたはいいえと言っていて、それを保存していない場合は、問題ないと思いPOSTます..

情報が実際に保存/更新されている場合は、適切な HTTP メソッドを選択することがより重要になります。

POST = CREATE / SUBMIT (in an RPC context)
PUT = UPDATE (or CREATE if there is nothing to UPDATE)
于 2013-08-13T21:02:58.173 に答える
8

ValidationResourceaと two リクエストを使用することをお勧めします。このリソースの各インスタンスは、一連のデータの検証を表します。ワークフロー:

1.新規作成ValidationResource

  • リクエスト: POST /path/to/validations
    • 本文として検証するデータ
  • 応答: 201 Created
    • Location: /path/to/validations/<unique-id-of-this-validation>

2. 検索結果

  • リクエスト: GET /path/to/validations/<unique-id-of-this-validation>
  • 応答: 200 OK
    • 本体:{'valid': true}または{'valid': false}

これは、検証がサーバー状態のリソースである RESTful アプローチです。

于 2013-08-14T08:10:52.637 に答える