7

Delphi 7 のアプリケーションに (非常に単純な) 自作の REST サーバーを組み込みました (ICS + いくつかのスタッフを使用)。現在、私は Delphi XE2 Pro (DataSnap なし) を使用しており、より標準的なソリューションに変更しますが、それでもシンプルです。

これを行うのは簡単ですか?

4

2 に答える 2

6

Habari Web コンポーネントフレームワークは、Delphi 2009 以降用の単純な (商用) HTTP サーバー フレームワークです。TdjRestfulComponentには、REST 拡張機能も含まれています(私はこれらのライブラリの開発者です)

TdjRestfulComponent の構成は、属性/注釈のようなスタイル、またはより伝統的な手続き型の方法で行うことができます。

すべての HTTP メソッドとコンテンツ タイプは、異なる匿名メソッドにマップでき、同じリソース URI を共有できます (要求されたコンテンツ タイプに応じて、1 つの URI、異なるリソース表現)。たとえば/myresource、HTML、XML、または JSON でリソースを表すには、次のように構成できます。

// respond to HTML browser GET request
&Path('myresource');
&Produces('text/html');
GET(procedure(Request: TRequest; Response: TResponse)
 begin
   Response.ContentText := '<html>Hello world!</html>';
 end);

// respond to XML client
&Path('myresource');
&Produces('application/xml');
GET(procedure(Request: TRequest; Response: TResponse)
  begin
    Response.ContentText := '<xml>Hello world!</xml>';
  end);

// respond to JSON client
&Path('myresource');
&Produces('application/json');
GET(procedure(Request: TRequest; Response: TResponse)
  begin
    Response.ContentText := '{"msg":"Hello world!"}';
  end);

このコンポーネントは、次のパス パラメータもサポートしています。

&Path('orders/{orderId}/lines/{lineNo');

次のようなURLを解析します

http://mydomain.local:8080/context/orders/65432/lines/1

追加のクエリ パラメータ (orderId=65431およびlineNo=1)に

于 2012-05-10T17:13:04.087 に答える
2

必要なほど単純かどうかはわかりませんが、mORMot フレームワークをご覧ください。

これは、クライアント サーバー ORM とインターフェイス ベースのサービス (WCF など) を備えた完全な RESTful サーバーです。軽量で高速ですが、多くの機能も備えています。

どんな種類のアプリケーションでも実行できます。たとえば、一部のユーザーは ORM も SOA も使用せず、非常に高速な RESTful サーバーとしてのみ使用しています。

Delphi 6 から XE2 までのすべてのバージョンの Delphi で動作し、特定のライセンスは必要ありません。Starter エディションでも動作します。データベース接続も含まれます。

それ自体は「標準」ではありませんが、REST、HTTP、JSON などのよく知られた標準を使用しています。URI ごとのビルトイン認証と、インターフェイスごと/メソッドごとのセキュリティ ポリシー全体があります。800 ページを超えるドキュメントと、完全な回帰テストのセットが含まれています。簡単に始めるには、サンプルを見てください。簡単だと思うかもしれません。

そしてそれはビールのように自由であり、鳥のようです。

于 2012-05-10T15:03:57.283 に答える