gpt4 book ai didi

angularjs - 如何使用 AngularJS 的 $resource 和 spring rest Controller 获取 bool 值

转载 作者:行者123 更新时间:2023-12-01 23:28:45 27 4
gpt4 key购买 nike

尝试使用 angular js 的 $resource 服务从 spring restcontroller 发送获取 bool 值,但没有得到任何响应 $resource.get 的信息。我需要在我的客户端或服务器端添加任何额外的东西来获取 bool 资源吗?下面是我的休息 Controller 和 $resource 代码 休息 Controller -

@RequestMapping(value="validate/company/{companyName}",method=RequestMethod.GET,produces={"application/json"})
public Boolean validateCouponCode(@PathVariable("companyName") String companyName){
return companyService.exists(companyName, Column.SITE_NAME);

}

Angular js的$资源-

function validateCompanyFn(companyName)  
return $resource("admin/rest/company/validate/company/:companyName")
.get({companyName:companyName}).$promise
}

我做错了什么?请建议,如果有另一种使用 $resource 获取 bool 响应的方法,并且不在服务器端使用任何额外的对象

最佳答案

$resource 不返回 bool 值

$resource.get 方法只返回对象引用,不返回 bool 值。

重要的是要认识到调用$resource 对象方法会立即返回一个空引用(对象或数组取决于isArray)。一旦数据从服务器返回,现有引用就会填充实际数据。

在幕后,$resource 服务使用 angular.copy填充对象。

angular.copy

Creates a deep copy of source, which should be an object or an array.

  • If a destination is provided, all of its elements (for arrays) or properties (for objects) are deleted and then all elements/properties from the source are copied to it.

— AngularJS angular.copy API Reference

由于 bool 值没有元素/属性,因此不会复制任何内容。

要返回 bool 值,请使用 $http service :

//USE $http service
function getSubCategoryIdNameFn(catId){
var url = "admin/rest/subcategory-id-name/" + catId;
return $http.get(url).then(function(response) {
return response.data;
});
};

没有必要用 $q.defer 制造一个 promise ,因为 $promise 已经一个 promise 。只需返回$promise

//SIMPLIFY
function getSubCategoryIdNameFn(catId){
//var deferred = $q.defer();
//vvvv RETURN the $promise
return $resource("admin/rest/subcategory-id-name/:catId",{catId:"@catId"})
.query({catId:catId})
.$promise
//.then(function(response){
// deferred.resolve(response);
//},function(error){
// deferred.reject(error);
//});
//return deferred.promise;
}

关于angularjs - 如何使用 AngularJS 的 $resource 和 spring rest Controller 获取 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43025523/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com