2009-08-02 6 views
0

Flex3 + Cairngorm. J'ai mon service dans Servicis.mxml:passez les paramètres à HTTPService et utilisez-les dans l'URL

<mx:HTTPService id="docIndex" url="{URL_PREFIX}/jobs/{???}/docs" resultFormat="e4x"/> 

Et je l'appelle de mon délégué générique reposant comme ceci:

public function index(params:Object):void { 
     var call:AsyncToken = services.getHTTPService(resourceName+"Index").send(params); 
     call.addResponder(responder); 
    } 

Je veux savoir comment je peux utiliser l'objet params je passe à l'intérieur du définition de l'URL (ci-dessus). Et s'il vous plaît dites-moi comment vous allez chercher une réponse à cette question dans la documentation, je voudrais être un peu plus indépendant sur ces problèmes ...

EDIT: Je vais vous expliquer si vous n'avez pas comprendre mon problème: J'ai une api reposante écrite dans des rails auxquels je me connecte. Doc est une ressource enfant de Job. Si je veux obtenir tous les documents, je dois fournir un job_id aussi. Par conséquent, dans le service, l'url doit être modifiée pour chaque appel .send(), avec le bon job_id (la partie ci-dessus). Je voudrais l'appeler comme myDelegate.index ({job_id: 34}) et insérer ce champ job_id dans l'URL du service.

+0

Ce n'est vraiment pas très évident quel genre de comportement vous cherchez ici. Pouvez-vous clarifier ce que {???} devrait ressembler par rapport au contenu de l'objet params? Pas comment faire, puisque c'est ce qui vous a amené ici en premier lieu, mais le pourquoi. –

+0

ok: J'ai un api reposant écrit dans les rails auxquels je me connecte. Doc est une ressource enfant de Job. Si je veux obtenir tous les documents, je dois fournir un job_id aussi. Par conséquent, dans le service, l'url doit être changé pour chaque appel .send(), avec le bon job_id (la partie ???). Je voudrais l'appeler comme myDelegate.index ({job_id: 34}) et insérer ce champ job_id dans l'URL du service. est-il plus clair maintenant? – luca

Répondre

0

Écrivez une classe qui étend HTTPService et vous permet de définir des paramètres dans l'URL. Ensuite, dans votre fonction d'index, vous pouvez l'extraire avec services.getHTTPService, et appeler une fonction que vous créez qui définit les valeurs d'url pour vous.

Dans votre localisateur de service, créez une instance de votre classe plutôt qu'un HTTPService plat.

+0

Je vais essayer ... Pensez-vous que getHTTPService fonctionnera même avec mon cours pour enfants? – luca

+0

Oui, il devrait le faire, car votre service http est toujours un service HTTPS –

Questions connexes