Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

506
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda