パッケージmx.rpc.http
クラスpublic class SerializationFilter
継承SerializationFilter Inheritance Object

新規直列化形式を使用する HTTP サービスを修正またはプラグインしたいフレームワーク開発者にとってこのクラスは便利です。この場合、ユーザーはサービスオブジェクト上でメソッドを起動し、 XML、JSON などの特定の直列化形式にパラメータをマップする方法を制御できます。SerializationFilter メカニズムによって、ユーザーは新規 resultFormat を追加することもできます。

このクラスのインスタンスは HTTP 要求、応答のフォーマットおよびパラメータの変換を管理できます。HTTPService または HTTPMultiService を使用するときは、データを特定の形式で渡すと考えられるサーバーにデータを送信するのが普通です。例えば、HTML フォーム型用にエンコードした URL、XML 値、または JSON のような別の直列化形式です。SerializationFilter によって、ユーザーは、HTTPService と HTTPMultiService が操作パラメータを HTTP 本文の要求に変換する方法、応答を操作の戻り値に変換する方法をカスタマイズできます。フレームワーク開発者は、SerializationFilter を新規に実装して新規直列化形式をシステムに導入し、これらコンポーネントおよびこれらコンポーネント上に構築された全フレームワークとツールを使用できます。その場合、形式自体の詳細を知る必要はありません。

最初に行うのは、SerializationFilter を拡張し、1 つまたは複数の変換メソッドを上書きすることです。フィルタを使用すると、パラメータの順序付きリストを要求本文に変換し、要求本文を修正し、要求で使用されるコンテンツタイプを修正し、要求で使用される実際の URL を修正し、応答データをサービスの結果イベントで返される結果オブジェクトに変換できます。

特定の HTTPService または HTTPMultiService 用に SerializationFilter を指定する方法が 2 つあります。サービスの serializationFilter プロパティを設定するか、または新規要求形式用に SerializationFilter を静的に登録するかのどちらかです。resultFormat を指定するだけでこのアプローチを採用する場合は、登録済み SerializationFilter を使用できます。例えば、「json」型用に SerializationFilter を登録し、resultFormat="json" と設定してそのフィルタを使用できます。.

HTTPService は要求本文を直接取得するメソッドを提供するのみで、「serializeParameters」メソッドを使用しないことに注意してください。



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
このメソッドは、HTTP 要求の結果を未加工形式で取得します。
SerializationFilter
  
このメソッドは、呼び出しを行う直前に HTTP サービスが呼び出します。
SerializationFilter
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
[静的] この静的関数は、特定の resultFormat 値について新しい SerializationFilter を登録するのに使用します。
SerializationFilter
  
このメソッドは HTTP サービスのすべての呼び出しについて呼び出されます。
SerializationFilter
  
このメソッドは HTTP サービス呼び出しの「send」メソッドから呼び出され、パラメータを要求本文に変換します。
SerializationFilter
  
このメソッドが使用されるのは、要求本文オブジェクトからデータを取得し、それを URL ストリングにエンコードする必要がある場合です。
SerializationFilter
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
メソッドの詳細
deserializeResult()メソッド
public function deserializeResult(operation:AbstractOperation, result:Object):Object

このメソッドは、HTTP 要求の結果を未加工形式で取得します。これは、必要なら、より詳細に記入した ActionScript オブジェクトに変換できます。SerializationFilter をより一般的にするために、ユーザーは備わっている AbstractOperation の resultType プロパティまたは resultElementType プロパティを使用できます。これによって、コードは、受信要求を戻り型として ActionScript に設定された種類に動的にマッピングできます。

また、AbstractOperation には「properties」マップがあり、ユーザーはこれを ActionScript でのサービス呼び出しの一部として使用して追加プロパティを格納し、特定の種類の直列化解除を処理することもできます。

パラメータ

operation:AbstractOperation — AbstractOperation が起動中です。
 
result:Object — サーバーから返された未加工の結果です。

戻り値
Object — 変換された結果はサービス用の結果イベントに与えられます。
getRequestContentType()メソッド 
public function getRequestContentType(operation:AbstractOperation, obj:Object, contentType:String):String

このメソッドは、呼び出しを行う直前に HTTP サービスが呼び出します。これのロールはこの要求のために使用される contentType を選択することです。多数の直列化形式について 1 つの固定コンテンツタイプがあるので、ここではそのコンテンツタイプを返すだけです。HTTPService 自体はコンテンツタイプで設定されているので、値はここで受け渡され、デフォルトの実装によって返されます。コンテンツタイプがサーバーに送信中のオブジェクトの種類に左右される場合に備えて、直列化中の要求本文には obj パラメータもあります。

パラメータ

operation:AbstractOperation — 起動中の AbstractionOperation です。
 
obj:Object — 直列化中の HTTP 要求の本文です。
 
contentType:String — 操作用に設定した contentType

戻り値
String — この HTTP に使用するコンテンツタイプです。
registerFilterForResultFormat()メソッド 
public static function registerFilterForResultFormat(resultFormat:String, filter:SerializationFilter):SerializationFilter

この静的関数は、特定の resultFormat 値について新しい SerializationFilter を登録するのに使用します。スタートアップ時にこのメソッドを 1 回呼び出せば、直列化フィルタを使用する HTTPService または HTTPMultiService の resultFormat プロパティを指定するだけで、開発者が形式を指定しやすくできます。

パラメータ

resultFormat:String — カスタム resultFormat の名前は、供給された SerializationFilter と関連付けられます。
 
filter:SerializationFilter — 登録する SerializationFilter です。

戻り値
SerializationFilter
serializeBody()メソッド 
public function serializeBody(operation:AbstractOperation, obj:Object):Object

このメソッドは HTTP サービスのすべての呼び出しについて呼び出されます。これは、与えられたオブジェクトを HTTP の要求本文に直接設定するのに適した形式に変換できます。デフォルトの実装では、変換なしに本体として渡されたオブジェクトを返すのみです。

パラメータ

operation:AbstractOperation — 呼び出し中の AbstractOperation
 
obj:Object — HTTP 要求の初期本文です。これは、serializeParameters の戻り値、sendBody メソッドへのパラメータまたは HTTPService への送信メソッドのいずれかです。

戻り値
Object — 要求で使用するために変換された可能性のある本文です。
serializeParameters()メソッド 
public function serializeParameters(operation:AbstractOperation, params:Array):Object

このメソッドは HTTP サービス呼び出しの「send」メソッドから呼び出され、パラメータを要求本文に変換します。オリジナル送信呼び出しのパラメータはパラメータ配列に入れられます。このメソッドは、パラメータのこのセットを、HTTP 要求本文のデータとして使用される単一のオブジェクトに変換します。デフォルトの実装ではオブジェクトが 1 つ作成されます。ここで、キーは Operation の argumentNames 配列内の値であり、値はパラメータの値です。デフォルトの実装を使用するとき、argumentNames がパラメータ配列と同じ数のエレメントを持つように設定する必要があります。

1 つのオブジェクトのみを取得する sendBody メソッドを使用して HTTP 操作を起動する場合、このメソッドは使用されないことに注意してください。その場合、このステップは省略され、serializeBody メソッドのみが呼び出されます。

パラメータ

operation:AbstractOperation — AbstractOperation が起動中です。
 
params:Array — send メソッドに渡されるパラメータのリスト

戻り値
Object — HTTP 要求で使用する本文
serializeURL()メソッド 
public function serializeURL(operation:AbstractOperation, obj:Object, url:String):String

このメソッドが使用されるのは、要求本文オブジェクトからデータを取得し、それを URL ストリングにエンコードする必要がある場合です。操作またはサービスで設定された受信 URL が渡されます。このシステムでは、受信 URL は変換なしに返されるのみです。

パラメータ

operation:AbstractOperation — 呼び出し中の AbstractOperation
 
obj:Object — サービスまたは操作に設定される URL
 
url:String

戻り値
String — この要求で使用するために修正された可能性のある URL です。




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/rpc/http/SerializationFilter.html