[英]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.