RAD サーバー拡張 URL マッピング
RAD サーバー(EMS) への移動
Content-Type および Accept ベースのマッピングに対する新しいエンドポイント属性
より良いリソース マッピングをサポートするため、URL のみに依存せず、Accept および Content-Type HTTP リクエスト ヘッダーを基とするようになりました。 これにより、同じ URL および HTTP 動詞にマップする 2 つの異なるメソッドを持ちつつ、なおリクエストに応じて異なるタイプのデータを返すことが可能になります。
- EndpointProduce: MIME タイプ / ファイル拡張子の指定。これは GET メソッドへの応答として、このエンドポイントによって生成されます。エンドポイントの選択は、Accept HTTP リクエスト ヘッダーを基に行われます。
- EndpointConsume: MIME タイプ / ファイル拡張子の指定。これは PUT/POST/PATCH メソッドのエンドポイントによって消費されます。 エンドポイントの選択は、Content-Type HTTP リクエスト ヘッダーを基に行われます。
カスタム メソッド名のマッピングへの HTTP 動詞
RAD Server の以前のバージョンでは、HTTP 動詞(GET、POST など)のメソッド名へのカスタム マッピングを、システムが生成していました。 これがデフォルトとして残りますが、新しい EndpointMethod 属性を使用して、HTTP 動詞を独自の名前でメソッドにマッピングできるようになりました。 以下は、クラスの PrintEmps メソッドへ GET 動詞をマッピングする例です:
type [ResourceName('Test')] TTestResource = class(TDataModule) public [EndpointMethod(TEndpointRequest.TMethod.Get)] procedure PrintEmps(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse); end;