如何在角度js工厂中使用webApi?
的WebAPI
public class WarrantyController: ApiController {
public WarrantyViewModel Get(string c, string l, string s, string cs, string productcode, string ordercode, string overrides) {
var response = Query(new WarrantyQuery(UserContext.CreateContext(c, l, s, cs), productcode, ordercode, overrides));
return response.Data;
}
}
这将返回json结果:
GET / api / shop / warranty / get / us / en / abc / 19 / productA / abc-123 HTTP / 1.1
答案 0 :(得分:1)
Angular Resource模块是使用Rest API的好帮手。
您可以创建像:
这样的工厂angular.module('appService', ['ngResource'])
.factory('Warranty', function($resource) {
return $resource('/api/warranty/');
});
然后,将工厂注入角度应用程序,如下所示:
var app = angular.module('app', ['appService']);
最后,您可以在控制器中访问工厂:
app.controller('warrantyController', function($scope, Warranty) {
$scope.warranties = Warranty.query();
});
所有其他CRUD操作将自动添加到您的保修对象中。 有关详细信息,请访问ngResource Documentation
答案 1 :(得分:0)
与任何API通信的方式相同,请使用$http服务。
通过这个,您可以获得HTTP动词短语:
// Returns a promise with warranty list as a resolved parameter
function getWarranties() {
return $get('/api/warranty').then(function(resp) {
return resp.data;
});
}
或者您可以使用原始$http
方法:
// Returns a promise with warranty list as a resolved parameter
function getWarranties() {
return $http({
url: '/api/warranty',
method: 'get',
// other options...
}).then(function(resp) {
return resp.data;
});
}