>  Q&A  >  본문

php - 关于restful的一点疑问

关于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这样?如果是后者的话也太麻烦了吧?

为情所困为情所困2736일 전455

모든 응답(4)나는 대답할 것이다

  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:05:34

    진실을 말하세요. 이것은 전혀 편안한 디자인 원칙이 아닙니다. 먼저 경로에 동사가 없어야 합니다...
    put은 몸체를 가질 수 있으므로 몸체에 배치될 수 있습니다.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:05:34

    POST의 본문은 매개변수를 취할 수 있습니다.

    예를 들어

    를 가져오는 경우 으아아아

    이 매개변수를 사용하면 휴대폰 번호를 수정해야 함을 백그라운드에서 알 수 있습니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-16 13:05:34

    PUT /users/1을 통해 개인정보를 수정할 수 있습니다. 1은 사용자 ID에 해당하며, 이는 사용자 정보의 수정에 해당합니다. 수정이 필요합니다. 수정하려면 여전히 json을 통해 전달해야 합니다

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:05:34

    RESTful 모드:
    http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
    여기서 {version}은 API의 버전 정보를 나타냅니다. {도메인}은 기술적(예: 보안 - 지정된 사용자가 이 영역에 액세스하도록 허용) 또는 비즈니스 이유를 정의하는 데 사용할 수 있는 영역입니다. (예: 동일한 함수는 동일한 접두사 아래에 있습니다.)
    {rest-convention}은 이 도메인에서 합의된 REST 인터페이스 세트를 나타냅니다.

    REST 인터페이스 사양:
    http://www.coderli.com/transl...

    회신하다
    0
  • 취소회신하다