簡體   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