2014-05-07 5 views
7

Napisałem niestandardową metodę dla zasobu kątowego w mojej aplikacji do aktywacji użytkownika. Punkt końcowy interfejsu API to /users/activate, a kod aktywacyjny musi zostać przypisany do tego punktu końcowego. To właśnie mój zasób wygląda następująco:Niestandardowy adres URL zasobów kresek używa ciągów zapytań i parametrów POST

app.factory('User', ['$resource', 
    function($resource){ 
     return $resource('http://api.site.dev/users/:id', {id: '@id'}, { 
      activate: {method:'PUT', params:{code: '@code'}, url: 'http://api.site.dev/users/activate'} 
     }); 
    }]); 

i używam go w moim kontrolera tak:

User.activate({code: $routeParams.code}); 

Jak widać z dziennika sieciowego na Chrome, kod aktywacyjny jest bycie wysłane w ciągu zapytania i żądania ciała:

enter image description here

Jak mogę zmienić zasób po prostu przekazać kod aktywacyjny w treści żądania, a nie w t on zapytanie ciąg?

Odpowiedz

10

Wystarczy usunąć params z oświadczeniem działanie:

activate: {method:'PUT', url: 'http://api.site.dev/users/activate'} 
+0

można proszę dać mi znać przyczynę trasach obsługiwanych przez to? – cracker