我曾尝试过这样的事情:
客户端:
$scope.addItem = function (productId, quantity) {
$http.post(API_BASE_URL + '/Card/AddItem?guid=' + cartGuid, { productId: productId, quantity: quantity }).success(function (data) {
alert('added succesfully');
});
服务器:
[HttpPost]
[Route("AddItem")]
public IHttpActionResult AddItem(Guid guid, int productId, int quantity = 1)
{
var cart = this._rep.Get<Cart>().SingleOrDefault(x => !x.IsCompleted && x.Guid == guid);
var prod = this._rep.Get<Product>().Single(x => x.Id == productId);
}
答案 0 :(得分:0)
您可以使用POST,尽管它不是正确的REST实现。
我不确定您是否发布了无法使用的代码或只是一个问题。
如果它不起作用,可能是因为您将guid
作为查询参数发送,而不是将其发送到请求的正文中。
执行以下操作之一:
$http.post(API_BASE_URL + '/Card/AddItem', {
guid: cartGuid,
productId: productId,
quantity: quantity
}).success(function (data) {
alert('added succesfully');
});
或:
public IHttpActionResult AddItem([FromUri]Guid guid, int productId, int quantity = 1)