restful については、tp3.2 マニュアルの説明が次のように簡潔で明確です。
関数 従来のモード REST モード
すべてのユーザーをリストする GET /users/list GET /users
ID 1 のユーザー情報を一覧表示 GET /users/show/id/1 GET /users/1
新しいユーザーを挿入 POST /users/add POST /users
ID 1 のユーザー情報を更新 POST /users/mdy/id/1 PUT /users/1
ID 1 のユーザーを削除 POST /users/delete/id/1 DELETE /users/1
get メソッドは分かりやすいですが、パラメータを判断してさまざまな操作を実行します。たとえば、上記がすべてのユーザーの情報を必要とするか、ID があるかどうかで判断できます。問題ですが、私の現在の質問は、更新操作に関して、2 つのインターフェイスがある場合、1 つはユーザーの個人情報を変更するもので、もう 1 つはユーザーの携帯電話のみを変更するものです。両方ともユーザー情報を変更します。 PUT /users/1 を使用して個人情報を変更できますが、ユーザーの携帯電話を変更する場合はどうすればよいですか? パラメータに基づいて別の変更操作を実行するには、PUT /users/1/2 などのパラメータをもう 1 つ渡す必要がありますか?それとも、PUT /usersPhone/1 などの新しいコントローラーを作成しますか?後者だったらめんどくさいですよね?
本当のことを言ってください。これは決して安静な設計原則ではありません。最初にパス内に動詞があってはなりません...
put は本体を持つことができるため、本体内に配置できます。
POST の本文はパラメータを取ることができます。
例えば
を持ってきた場合 リーリーこのパラメータを使用すると、携帯電話番号を変更する必要があることをバックグラウンドで知ることができます。
PUT /users/1 を通じて個人情報を変更できます。1 はユーザーの ID に対応し、ユーザーの携帯電話は PUT /users/1 のユーザー情報のフィールドです。変更する必要があります。変更するには、json を介して渡す必要があります
RESTful モード:
http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
ここで、{version} は API のバージョン情報を表します。 {domain} は、技術的な理由 (例: セキュリティ - 指定したユーザーにこの領域へのアクセスを許可する) またはビジネス上の理由を定義するために使用できる領域です。 (例: 同じ関数が同じプレフィックスの下にあります。)
{rest-convention} は、このドメイン内の合意された REST インターフェースのセットを表します。
REST インターフェイス仕様:
http://www.coderli.com/transl...