Package | mx.rpc.http |
Classe | public class SerializationFilter |
Héritage | SerializationFilter Object |
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Une instance de cette classe peut gérer le formatage des demandes et des réponses HTTP et la conversion de leurs paramètres. Lorsque vous utilisez la classe HTTPService ou HTTPMultiService, vous dialoguez généralement à un serveur qui s’attend à ce que les données soient fournies dans un format spécifique - par exemple, des valeurs codées URL pour un formulaire HTML ou des valeurs XML ou autre format de sérialisation tel que JSON. Le filtre SerializationFilter vous permet de personnaliser la manière dont les classes HTTPService et HTTPMultiService convertissent les paramètres d’une opération dans le corps de la demande HTTP et la manière dont la réponse est convertie dans la valeur de retour de l’opération. Les développeurs de structures peuvent introduire un nouveau format de sérialisation dans le système en fournissant une nouvelle implémentation du filtre SerializationFilter et utiliser ces composants et toutes les structures et tous les outils construits sur ces composants sans avoir à connaître les détails du format lui-même.
La première chose à faire est de développer le filtre SerializationFilter et de remplacer une ou plusieurs des méthodes de conversion. Le filtre vous permet de convertir la liste ordonnée de paramètres en un corps de demande, de modifier le corps de demande, de modifier le type de contenu utilisé dans la demande, de modifier l’URL réelle utilisée dans la demande et de convertir les données de réponse dans l’objet de résultat renvoyé dans l’événement result du service.
Il existe deux méthodes pour spécifier le filtre SerializationFilter d’une classe HTTPService ou HTTPMultiService spécifique. Vous pouvez définir la propriété serializationFilter sur le service ou enregistrer statiquement un filtre SerializationFilter pour un nouveau format de résultat. Si vous utilisez cette approche, vous pouvez utiliser un filtre SerializationFilter préenregistré simplement en spécifiant le format resultFormat. Ainsi, par exemple, vous pouvez enregistrer un filtre SerializationFilter pour le type « json » et utiliser ce filtre en définissant resultFormat="json".
La classe HTTPService ne fournit que des méthodes qui extraient directement le corps de la demande et donc n’utilise pas la méthode « serializeParameters ».
Méthode | Défini par | ||
---|---|---|---|
Cette méthode extrait le résultat de la demande HTTP dans un format brut. | SerializationFilter | ||
Cette méthode est appelée par le service HTTP juste avant qu’un appel ne soit effectué. | SerializationFilter | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
[statique]
Cette fonction statique est utilisée afin d’enregistrer un nouveau filtre SerializationFilter pour une valeur resultFormat spécifique. | SerializationFilter | ||
Cette méthode est appelée pour toutes les invocations du service HTTP. | SerializationFilter | ||
Cette méthode est appelée depuis la méthode « send » de l’invocation du service HTTP pour convertir les paramètres en un corps de demande. | SerializationFilter | ||
Cette méthode est utilisée si vous devez extraire des données de l’objet de corps de demande et les coder dans la chaîne URL. | SerializationFilter | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
deserializeResult | () | méthode |
public function deserializeResult(operation:AbstractOperation, result:Object):Object
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Cette méthode extrait le résultat de la demande HTTP dans un format brut. Elle peut le convertir en un objet ActionScript plus typé si cela est souhaité. Pour rendre le filtre SerializationFilter plus général, vous pouvez utiliser les propriétés resultType ou resultElementType de la classe AbstractOperation fournie de sorte que votre code puisse dynamiquement mapper la demande entrante sur le type configuré dans ActionScript comme type de retour.
La classe AbstractOperation comporte une carte de propriétés qui vous permet de stocker d’autres propriétés dans le cadre de l’invocation de service dans ActionScript afin de gérer la désérialisation d’un type particulier.
Paramètres
operation:AbstractOperation — Classe AbstractOperation invoquée.
| |
result:Object — Résultat brut tel que renvoyé du serveur.
|
Object — Résultat converti alors ensuite être fourni dans l’événement result pour le service.
|
getRequestContentType | () | méthode |
public function getRequestContentType(operation:AbstractOperation, obj:Object, contentType:String):String
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Cette méthode est appelée par le service HTTP juste avant qu’un appel ne soit effectué. Son rôle est de choisir le type contentType utilisé pour cette demande. Il existe un type de contenu fixe unique pour de nombreux formats de sérialisation, ce qui vous permet de simplement renvoyer ce type de contenu ici. La classe HTTPService étant elle-même configurée avec un type de contenu, cette valeur est transmise ici et renvoyée par l’implémentation par défaut. Le corps de demande en cours de sérialisation est aussi fourni avec le paramètre obj au cas où le type de contenu dépend du type d’objet envoyé au serveur.
Paramètres
operation:AbstractOperation — Classe AbstractOperation invoquée.
| |
obj:Object — Corps de la demande HTTP en cours de sérialisation.
| |
contentType:String — Type contentType configuré pour l’opération.
|
String — Type de contenu à utiliser pour cette demande HTTP.
|
registerFilterForResultFormat | () | méthode |
public static function registerFilterForResultFormat(resultFormat:String, filter:SerializationFilter):SerializationFilter
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Cette fonction statique est utilisée afin d’enregistrer un nouveau filtre SerializationFilter pour une valeur resultFormat spécifique. Si vous appelez cette méthode au démarrage, vous pouvez alors simplement simplifier la propriété resultFormat d’une classe HTTPService ou HTTPMultiService pour utiliser ce filtre de sérialisation afin que les développeurs puissent spécifier un format plus facilement.
Paramètres
resultFormat:String — Nom resultFormat personnalisé à associer au filtre SerializationFilter fourni.
| |
filter:SerializationFilter — Filtre SerializationFilter à enregistrer.
|
SerializationFilter |
serializeBody | () | méthode |
public function serializeBody(operation:AbstractOperation, obj:Object):Object
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Cette méthode est appelée pour toutes les invocations du service HTTP. Elle peut convertir l’objet fourni en une forme appropriée pour un placement direct dans le corps de la demande HTTP. L’implémentation par défaut renvoie simplement l’objet transmis en tant que corps sans aucune conversion.
Paramètres
operation:AbstractOperation — Classe AbstractOperation invoquée.
| |
obj:Object — Corps initial de la demande HTTP, soit la valeur de retour des paramètres serializeParameter, soit le paramètre de la méthode sendBody ou send de la classe HTTPService.
|
Object — Corps potentiellement converti à utiliser dans la demande.
|
serializeParameters | () | méthode |
public function serializeParameters(operation:AbstractOperation, params:Array):Object
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Cette méthode est appelée depuis la méthode « send » de l’invocation du service HTTP pour convertir les paramètres en un corps de demande. Les paramètres de l’appel send d’origine sont placés dans le tableau de paramètres. Cette méthode convertit cet ensemble de paramètres en un objet unique utilisé en tant que données pour le corps de la demande HTTP. L’implémentation par défaut produit un objet où les clés sont les valeurs dans le tableau argumentNames de la classe Operation et les valeurs sont les valeurs des paramètres. Avec l’implémentation par défaut, vous devez définir des noms argumentName pour disposer du même nombre d’éléments que le tableau de paramètres.
Cette méthode n’est pas utilisée si vous invoquez l’opération HTTP à l’aide de la méthode sendBody qui n’extrait qu’un seul objet. Dans ce cas, cette étape est ignorée et seule la méthode serializeBody est appelée.
Paramètres
operation:AbstractOperation — Classe AbstractOperation invoquée.
| |
params:Array — Liste des paramètres transmis à la méthode send.
|
Object — Corps à utiliser dans la demande HTTP.
|
serializeURL | () | méthode |
public function serializeURL(operation:AbstractOperation, obj:Object, url:String):String
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 3 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.1 |
Cette méthode est utilisée si vous devez extraire des données de l’objet de corps de demande et les coder dans la chaîne URL. Elle reçoit l’URL entrante tel que configuré sur l’opération ou le service. Cette implémentation renvoie simplement l’URL entrante sans aucune conversion.
Paramètres
operation:AbstractOperation — Classe AbstractOperation invoquée.
| |
obj:Object — URL définie sur le service ou l’opération.
| |
url:String |
String — URL potentiellement modifiée à utiliser pour cette demande.
|
Tue Jun 12 2018, 09:30 AM Z