Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

513
Visualizações
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

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

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; }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda