关于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这样?如果是后者的话也太麻烦了吧?
Dites la vérité. Ce n'est pas du tout un principe de conception reposant. Il ne doit d'abord y avoir aucun verbe dans le chemin...
put peut avoir un corps, donc il peut être placé dans le corps.
Le corps du POST peut prendre des paramètres.
Par exemple, si vous apportez
Avec ce paramètre, l'arrière-plan peut savoir que le numéro de téléphone portable doit être modifié.
Vous pouvez modifier les informations personnelles via PUT /users/1. 1 correspond à l'identifiant de l'utilisateur, qui correspond à la modification d'un enregistrement. Le téléphone mobile de l'utilisateur est un champ dans les informations utilisateur. besoin de modifier Vous devez toujours le transmettre via json pour le modifier
Mode RESTful :
http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
Ici, {version} représente les informations de version de l'API. {domain} est une zone que vous pouvez utiliser pour définir des raisons techniques (par exemple : sécurité - autoriser les utilisateurs spécifiés à accéder à cette zone.) ou commerciales. (Par exemple : les mêmes fonctions sont sous le même préfixe.)
{rest-convention} représente l'ensemble convenu d'interfaces REST dans ce domaine.
Spécification de l'interface REST :
http://www.coderli.com/transl...