关于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这样?如果是后者的话也太麻烦了吧?
Beritahu perkara sebenar. Ini bukan prinsip reka bentuk yang tenang sama sekali. Mesti tiada kata kerja dalam laluan dahulu...
put boleh ada badan, jadi boleh letak dalam badan.
Badan POST boleh mengambil parameter.
Sebagai contoh, jika anda membawa
Dengan parameter ini, latar belakang boleh mengetahui bahawa nombor telefon bimbit perlu diubah suai.
Anda boleh mengubah suai maklumat peribadi melalui PUT /users/1 sepadan dengan id pengguna, yang sepadan dengan pengubahsuaian rekod telefon bimbit pengguna adalah medan dalam maklumat pengguna anda perlu mengubah suai Anda masih perlu meneruskannya melalui json untuk pengubahsuaian
Mod REHAT:
http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
Di sini, {version} mewakili maklumat versi api. {domain} ialah kawasan yang boleh anda gunakan untuk menentukan sebarang teknikal (contohnya: keselamatan - membenarkan pengguna tertentu mengakses kawasan ini.) atau sebab perniagaan. (Contohnya: fungsi yang sama berada di bawah awalan yang sama.)
{rest-convention} mewakili set antara muka REST yang dipersetujui dalam domain ini.
Spesifikasi antara muka REHAT:
http://www.coderli.com/transl...