3

Delphi XE2 で REST データスナップを使用して小さな REST サーバーを作成しました。HTTP メソッド (POST、PUT など) と Delphi で定義された関数の間にはデフォルトのマッピングがあり、これは Delphi コンポーネントによって行われます。

この wiki エントリでは、URI マッピングについて説明していますが、プログラマがデフォルトのマッピングをオーバーライドできることも示しています。

マッピング パターンはオーバーライドできます。ユーザーは、クラス名とメソッド名のパラメーターに基づいて、各型のマッピングをオーバーライドできます。

しかし、マッピングをオーバーライドする方法についての説明は見つかりませんでした。

デフォルトのマッピングを変更するにはどうすればよいですか?

4

2 に答える 2

2

TDSHTTPServiceコンポーネントには、各タイプのマッピングを指定できるイベントがあります。これらのイベントは、RESTMethodNameMapDELETE、RESTMethodNameMapGET、RESTMethodNameMapPOST、およびRESTMethodNameMapPUTと呼ばれます。

これは、RESTとDatasnapについて多くのことを説明しているMarcoCantùによるRESTに関するホワイトペーパーでも説明されています。

于 2011-12-21T15:01:10.800 に答える
1

私も同じことを疑問に思っていて、いくつかの実験をしました。URL を制御することは、少なくとも部分的に可能であるようです。具体的には、url のクラス名の部分を変更してみました。

基本的に、TComponent の子孫を使用している場合は、クラスに任意の名前を付けることができます。ただし、TDataModule から派生した場合、これは機能しません。この場合、TDataModule から派生した、必要な名前を付けることができるクラスを作成してエイリアスできます。

これにバインドしようとするときは、クライアント バインディングでクリーンアップを行う必要がありますが、少なくとも簡単なテストではうまくいくようです。

Embarcadero フォーラムで詳細を参照してください。

https://forums.embarcadero.com/thread.jspa?threadID=77624&tstart=0

于 2012-10-03T12:34:44.587 に答える