5

私はDelphiXE3にRESTサーバーAPIを実装しています(約10年ぶりにDelphiを使用したので、少し錆びています)。現在、デバッグ目的でIndyサーバーを使用していますが、最終的にはISAPIdllになります。

これで、いくつかのTDSServerClassクラスを実装し、クラスメソッド内のリクエストヘッダーにアクセスしたいと思います。したがって、たとえば、ユーザーがmysite.com/datasnap/rest/foo/barを要求したときに、barと呼ばれるfooクラスメソッド内のヘッダーを読み取れるようにしたいのです。これは可能ですか?

そうでない場合、RESTクラスメソッドに到達する前に着信要求のグローバルフィルターを作成することは可能ですか?着信リクエストのAPIキーとユーザー認証を確認する必要がありますが、実装するための最良の方法がわかりません。ありがとう。

4

1 に答える 1

2

XE3で何かが変更されたかどうかはわかりませんが、XE2では次のことができます。

uses
  Web.HTTPApp,
  Datasnap.DSHTTPWebBroker;

function TServerMethods1.EchoString(Value: string): string;
var
  Module: TWebModule;
begin
  Module := GetDataSnapWebModule;
  Result := Module.Request.RemoteIP + ': ' + Value;
end;
于 2012-12-30T15:48:47.137 に答える