w3s page link code another javascript angularjs angular-resource

page - javascript link href



El recurso AngularJS $ pasa el ID como parĂ¡metro de consulta en lugar de url (1)

Cuando llama a Products.get() en el controlador, no está usando el nombre de parámetro correcto (debe usar "productId" en lugar de "id" según su definición de $resource ). Intenta llamarlo así en su lugar:

Products.get({ productId: id })

Aquí hay un fragmento de la documentación de $resource que explica cómo funciona:

Cada valor de clave en el objeto de parámetro primero se enlaza con la plantilla de URL si está presente y luego, cualquier exceso de claves se agrega a la consulta de búsqueda de URL después de?.

En su caso, no encuentra "id" como parámetro en la URL, por lo que agrega eso a la cadena de consulta.

Necesito obtener datos de una API de descanso, con la parte de identificación del producto de la URL (y no como parámetro de consulta).

La fábrica:

.factory(''Products'', [''$resource'', function($resource) { return $resource(''products/:productId'', { productId: ''@id'' }, { query: { isArray: false }, update: { method: ''PUT'' } }); } ])

El controlador:

$scope.getProduct = function(id, from) { $scope.product = Products.get({ id: id }, function(){ console.log($scope.product); }); }

Mi url se construye como:

/products?id=5426ced88b49d2e402402205

en lugar de:

/products/5426ced88b49d2e402402205

¿Alguna idea de por qué?