Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

505
Views
Cómo obtener un valor booleano usando $ recurso de AngularJS y el controlador de descanso de primavera

Intentando enviar un valor booleano desde spring restcontroller usando el servicio $resource de angular js, pero no obtengo nada en respuesta a $resource.get. ¿Hay algo adicional que deba agregar en mi lado del cliente o en el lado del servidor para obtener un recurso booleano? A continuación se muestra mi código para el controlador de descanso y el controlador de descanso $resource -

 @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); }

$ recurso de Angular js -

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

que estoy haciendo mal? sugiera, si hay otra forma de obtener una respuesta booleana usando $resource, y sin usar ningún objeto adicional en el lado del servidor

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

$ recurso no devuelve valores booleanos

El método $resource.get solo devuelve referencias a objetos , no valores booleanos.

Es importante darse cuenta de que invocar un método de objeto $resource devuelve inmediatamente una referencia vacía (objeto o matriz dependiendo de isArray ). Una vez que el servidor devuelve los datos, la referencia existente se rellena con los datos reales.

Bajo el capó, el servicio $resource usa angular.copy para completar el objeto.

copia angular

Crea una copia profunda de la fuente, que debe ser un objeto o una matriz.

  • Si se proporciona un destino, todos sus elementos (para arreglos) o propiedades (para objetos) se eliminan y luego todos los elementos/propiedades del origen se copian en él.

— Referencia de la API angular.copy de AngularJS

Dado que un booleano no tiene elementos/propiedades, no se copia nada.

Para devolver un booleano, use el servicio $http :

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

No hay necesidad de fabricar una promesa con $q.defer ya que $promise ya es una promesa. Simplemente devuelva la $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; }
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!