关于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来判断,这点没问题,但是我现在的疑问是,其他的比如更新操作的呢,如果我有两个接口,一个是修改用户个人信息,一个是仅修改用户手机,两个都是修改用户信息,修改个人信息可以用PUT /users/1 ,但是修改用户手机呢,我是要多传入一个参数比如PUT /users/1/2来根据参数来进行不同的修改操作?还是再另外新建一个控制器比如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...