简体   繁体   English

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

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

I am messing around with my routes file and I wish to be able to call a different method (delete instead of update). 我正在弄乱我的路线文件,希望能够调用其他方法(删除而不是更新)。

Snippets: 摘录:

# 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 )

And: 和:

    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])

Does anyone know how to distinguish the two PUT routes? 有谁知道如何区分两条PUT路线? Or rather call a specific PUT route? 还是称呼特定的PUT路线?

You use put in delete action, instead you can use DELETE http request type. 您可以使用放入删除操作,而可以使用DELETE http请求类型。 So it will be like 所以会像

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

And to distinguish two similar actions, the easiest way is to change route simply, that way will be like 为了区分两个类似的动作,最简单的方法是简单地更改路线,

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

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

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