Paket | mx.rpc.http |
Klasse | public class SerializationFilter |
Vererbung | SerializationFilter Object |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Eine Instanz dieser Klasse kann die Formatierung von HTML-Anforderungen und -Antworten sowie die Konvertierung von deren Parametern verwalten. Wenn Sie HTTPService oder HTTPMultiService verwenden, wird in der Regel mit einem Server kommuniziert, der Daten in einem spezifischen Format verlangt - zum Beispiel URL-kodierte Werte für ein Typ-HTML-Formular, XML-Werte oder andere Serialisierungsformate wie JSON. Mit dem SerializationFilter können Sie anpassen, wie HTTPService und HTTPMultiService die Parameter eines Vorgangs in den Hauptteil einer HTTP-Anforderung konvertieren und wie die Antwort in den Antwortwert des Vorgangs umgewandelt wird. Framework-Entwickler können ein neues Serialisierungsformat einführen, indem sie den SerializationFilter neu implementieren. Sie können dann diese Komponenten sowie sämtliche darauf basierenden Frameworks und Werkzeuge verwenden, ohne mit dem Format im Detail vertraut sein zu müssen.
Als Erstes müssen Sie den SerializationFilter erweitern und eine oder mehrere Konvertierungsmethoden überschreiben. Mit diesem Filter können Sie die geordnete Parameterliste in den Hauptteil einer Anforderung umwandeln, den Hauptteil und den Inhaltstyp der Anforderung modifizieren und die tatsächliche URL der Anforderung ändern sowie die Antwortdaten in das Ergebnisobjekt konvertieren, das im Ergebnisereignis des Dienstes zurückgegeben wird.
Es gibt zwei Möglichkeiten, den SerializationFilter für einen bestimmten HTTPService oder HTTPMultiService anzuwenden. Sie können entweder die serializationFilter-Eigenschaft im Dienst einstellen oder einen SerializationFilter für ein neues Ergebnisformat statisch registrieren. Wenn Sie diesen Ansatz verwenden, können Sie einfach das resultFormat angeben, um einen vorregistrierten SerializationFilter zu verwenden. So können Sie beispielsweise einen SerializationFilter für den „json“-Typ registrieren und diesen Filter anschließend mithilfe der Einstellung resultFormat="json" verwenden.
Beachten Sie, dass HTTPService nur Methoden bereitstellt, die den Hauptteil der Anforderung direkt und somit nicht die „serializeParameters“-Methode verwenden.
Methode | Definiert von | ||
---|---|---|---|
Diese Methode erhält ein unformatiertes Ergebnis von der HTTP-Anforderung. | SerializationFilter | ||
Diese Methode wird durch den HTTP-Dienst kurz vor dem Aufruf aufgerufen. | SerializationFilter | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
[statisch]
Diese statische Funktion wird verwendet, um einen neuen SerializationFilter für einen bestimmten resultFormat-Wert zu registrieren. | SerializationFilter | ||
Diese Methode wird für alle Aufrufe des HTTP-Dienstes aufgerufen. | SerializationFilter | ||
Diese Methode wird von der „send“-Methode des HTTP-Dienstaufrufs aufgerufen, um die Parameter in den Hauptteil einer Anforderung zu konvertieren. | SerializationFilter | ||
Diese Methode wird verwendet, wenn Sie Daten aus dem Objekt des Anforderungshauptteils nehmen und in einen URL-String kodieren müssen. | SerializationFilter | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
deserializeResult | () | Methode |
public function deserializeResult(operation:AbstractOperation, result:Object):Object
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Diese Methode erhält ein unformatiertes Ergebnis von der HTTP-Anforderung. Sie kann es in ein stärker typisiertes Objekt konvertieren. Der SerializationFilter kann verallgemeinert werden, indem Sie die resultType- oder resultElementType-Eigenschaften der AbstractOperation verwenden. Dadurch kann der Code die eingehende Anforderung dynamisch dem im ActionScript als Rückgabetyp angegebenen Typ zuordnen.
Beachten Sie auch, dass zu AbstractOperation eine „properties“-Zurodnung gehört, mit deren Hilfe Sie zusätzliche Eigenschaften als Teil des Dienstaufrufs in ActionScript speichern können, um die Entserialisierung eines bestimmten Typs zu verwalten.
Parameter
operation:AbstractOperation — AbstractOperation, die aufgerufen wird.
| |
result:Object — das unformatierte, vom Server zurückgegebene Format.
|
Object — das konvertierte Ergebnis, das anschließend im Ergebnisereignis für den Dienst angegeben wird.
|
getRequestContentType | () | Methode |
public function getRequestContentType(operation:AbstractOperation, obj:Object, contentType:String):String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Diese Methode wird durch den HTTP-Dienst kurz vor dem Aufruf aufgerufen. Sie dient dazu, den contentType für diese Anforderung auszuwählen. Für viele Serialisierungsformate gibt es genau einen festen Inhaltstyp, sodass Sie hier einfach diesen Inhaltstyp zurückgeben können. Da der HTTPService automatisch mit einem Inhaltstyp konfiguriert wird, wird dieser Wert hier übergeben und durch die Standardimplementierung zurückgegeben. Der Hauptteil der serialisierten Anforderung besitzt auch einen obj-Parameter, für den Fall, dass der Inhaltstype vom Objekttyp der Sendung an den Server abhängt.
Parameter
operation:AbstractOperation — Die aufgerufene AbstractOperation.
| |
obj:Object — der Hauptteil der HTTP-Anforderung, die serialisiert wird.
| |
contentType:String — der für diesen Vorgang konfigurierte contentType
|
String — der für diese HTTP-Anforderung verwendete Inhaltstyp.
|
registerFilterForResultFormat | () | Methode |
public static function registerFilterForResultFormat(resultFormat:String, filter:SerializationFilter):SerializationFilter
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Diese statische Funktion wird verwendet, um einen neuen SerializationFilter für einen bestimmten resultFormat-Wert zu registrieren. Wenn Sie diese Methode beim Systemstart aufrufen, können Sie die resultFormat-Eigenschaft eines HTTPService oder HTTPMultiService angeben, die den Serialisierungsfilter verwenden soll, um für Entwickler die Spezifizierung eines Formats zu erleichtern.
Parameter
resultFormat:String — Ein benutzerdefinierter resulFormat-Name, der mit dem angegebenen SerializationFilter verknüpft ist.
| |
filter:SerializationFilter — Der zu registrierende SerializationFilter.
|
SerializationFilter |
serializeBody | () | Methode |
public function serializeBody(operation:AbstractOperation, obj:Object):Object
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Diese Methode wird für alle Aufrufe des HTTP-Dienstes aufgerufen. Sie kann das angegebene Objekt in eine Form konvertieren, die direkt im Hauptteil der HTTP-Anforderung verwendet werden kann. Die Standardimplementierung gibt das Objekt zurück, das ohne Konvertierung als Hauptteil übergeben wurde.
Parameter
operation:AbstractOperation — Die AbstractOperation, die aufgerufen wird
| |
obj:Object — der Anfang des Hauptteils der HTTP-Anforderung, entweder ein Rückgabewert der serializeParameters oder der Parameter für die sendBody-Methode oder die Sendmethode des HTTPService.
|
Object — der potenziell konvertierte Hauptteil, der in der Anforderung verwendet werden soll.
|
serializeParameters | () | Methode |
public function serializeParameters(operation:AbstractOperation, params:Array):Object
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Diese Methode wird von der „send“-Methode des HTTP-Dienstaufrufs aufgerufen, um die Parameter in den Hauptteil einer Anforderung zu konvertieren. Die Parameter des ursprünglichen Send-Aufrufs werden in das params-Array gestellt. Diese Methode konvertiert diesen Satz von Parametern in ein einzelnes Objekt, das als Daten für den Hauptteil der HTTP-Anforderung verwendet wird. Die Standardimplementierung erzeugt ein Objekt, dessen Schlüssel die Werte im argumentNames-Array des Vorgangs und die Werte die Parameterwerte sind. Wenn Sie die Standardimplementierung verwenden, müssen Sie so viele argumentNames einstellen, wie Elemente im Parameter-Array vorhanden sind.
Beachten Sie, dass diese Methode nicht verwendet wird, wenn Sie den HTTP-Vorgang mithilfe der sendBody-Methode aufrufen, die nur ein einzelnes Objekt übernimmt. In diesem Fall wird dieser Schritt übersprungen und nur die serializeBody-Methode aufgerufen.
Parameter
operation:AbstractOperation — Die AbstractOperation, die aufgerufen wird.
| |
params:Array — Liste der Parameter, die der Send-Methode übergeben wurden.
|
Object — der in der HTTP-Anforderung zu verwendende Hauptteil.
|
serializeURL | () | Methode |
public function serializeURL(operation:AbstractOperation, obj:Object, url:String):String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Diese Methode wird verwendet, wenn Sie Daten aus dem Objekt des Anforderungshauptteils nehmen und in einen URL-String kodieren müssen. Sie übernimmt die eingehende URL wie im Vorgang oder Dienst konfiguriert. Diese Implementierung gibt die eingehende URL ohne Konvertierung zurück.
Parameter
operation:AbstractOperation — Die AbstractOperation, die aufgerufen wird
| |
obj:Object — die im Dienst oder Vorgang festgelegte URL
| |
url:String |
String — die eventuell modifizierte URL, die für diese Anforderung verwendet wird.
|
Tue Jun 12 2018, 10:04 AM Z