2014-05-09 5 views
2

ngResource/$ resource을 사용하는 경우 transformRequest/transformResponse를 지정하여 사용자 정의 (de) 직렬화를 구현할 수 있습니다. 그러나 이들은 요청의 본문 (데이터) 만 제어하므로 GET 요청에서 쿼리 매개 변수를 어떻게 조작 할 수 있습니까?Angular 리소스를 사용하여 TransformRequest GET 매개 변수를 어떻게 만들 수 있습니까?

특히, 모든 매개 변수 값을 json-encode하고 싶습니다.

간단한 경우 :? GET 요청에
전달 개체/해시 :
사용자 = 123 ID 123
사용자와 사용자입니다 = "123"이름 123

복잡한 경우에 사용자입니다. 예를 들어 mongo와 같은 구문을 사용하여 요청 기준/예상을 지정합니다.

+0

$ 리소스는 매개 변수 이름에 대한 기능의 해시 될 수있는 actions.params 옵션을합니다. 이 함수가 유용하게 전달됩니까? 어쨌든 myResource 상태 또는 기본 param 문자열을 유지할 수 있습니까? –

+0

actions.interceptor 옵션도 있지만 응답 인터셉터 만 허용하고 요청 인터셉터는 허용하지 않습니다. –

답변

3

당신은이에 대한 요청 인터셉터를 사용할 수 있습니다 (이 질문은 특별한 방법 몽고에 대해하지 않습니다 유의하시기 바랍니다) :

$httpProvider.interceptors.push(function() { 
    return { 
    'request': function(config) { 
     //config.params contains query/request parameters 
     if (config.params){ 
     //Do something here... 
     } 
     return config; 
    } 
    }; 
});