繁体   English   中英

HTTP Services REST-如何具有多个PUT方法

[英]HTTP Services REST - how to have more than one PUT method

我正在弄乱我的路线文件,希望能够调用其他方法(删除而不是更新)。

摘录:

# User management API
GET     /users                      @controllers.Users.findUsers
POST    /user                       @controllers.Users.createUser
PUT     /user/:firstName/:lastName  @controllers.Users.updateUser ( firstName: String, lastName: String )
PUT     /user/:firstName/:lastName  @controllers.Users.deleteUser ( firstName: String, lastName: String )

和:

    updateUser: (firstName, lastName, user) ->
      @$log.debug "updateUser  #{angular.toJson(user,true) }"
      deferred  = @$q.defer()

      @$http.put("/user/#{firstName}/#{lastName}",user)
        .success((data, status,headers) =>
            @$log.info("Successfully updated user - status #{status}")
            deferred.resolve(data)
        )

        .error((data,status,header) =>
            @$log.info("Faileed to update user - status #{status}")
            deferred.reject(data)
        )
        deferred.promise


    deleteUser: (firstName,lastName,user) ->
      @$log.debug "deleteUser  #{angular.toJson(user,true) }"
      deferred  = @$q.defer()

      @$http.put("/user/#{firstName}/#{lastName}",user)
        .success((data, status,headers) =>
            @$log.info("Successfully deleted user - status #{status}")
            deferred.resolve(data)
        )

      .error((data,status,header) =>
          @$log.info("Faileed to delete user - status #{status}")
          deferred.reject(data)
      )
      deferred.promise

servicesModule.service('UserService',['$log','$http','$q',UserService])

有谁知道如何区分两条PUT路线? 还是称呼特定的PUT路线?

您可以使用放入删除操作,而可以使用DELETE http请求类型。 所以会像

GET users
POST user
PUT user/:firstName/:lastName
DELETE  user/:firstName/:lastName

为了区分两个类似的动作,最简单的方法是简单地更改路线,

PUT user/:firstName/:lastName
PUT user/update/:firstName/:lastName

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM