Datasnap.DSService.TDSRESTService
Delphi
TDSRESTService = class(TDSService)
C++
class PASCALIMPLEMENTATION TDSRESTService : public TDSService
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 | 
|---|---|---|---|---|
| class | public | Datasnap.DSService.pas Datasnap.DSService.hpp  | 
        Datasnap.DSService | Datasnap.DSService | 
説明
REST サービスを実装したものです。
要求メソッドは CRUD 操作と次のようにマッピングされます。
- GET: /MethodClass/MethodName/inputParameter[/inputParameter]*
- JSON 要求: {"execute":{"MethodClass.MethodName":[inputParameter[,inputParameter]*]}}
 
 - PUT: /MethodClass/MethodName/inputParameter[/inputparameter]* and [content]
- JSON 要求: {"execute":{"MethodClass.acceptMethodName":[inputParameter[,inputParameter]*[,JSONValue]}}
 
 - POST: /MethodClass/MethodName/inputParameter[/inputparameter]* and [content]
- JSON 要求: {"execute":{"MethodClass.updateMethodName":[inputParameter[,inputParameter]*[,JSONValue]}}
 
 - DELETE: /MethodClass/MethodName/inputParameter[/inputParameter]*
- JSON 要求: {"execute":{"MethodClass.cancelMethodName":[inputParameter[,inputParameter]*]}}
 
 
たとえばデータベース接続を管理する場合は、次のように使用することができます。
- PUT メッセージ http://mySite.com/datasnap/rest/Test/Connection/MSSQL1 は次の JSON 要求になります。
{"execute":{"Test.acceptConnection":["MSSQL1"]}}
 - POST メッセージ http://mySite.com/datasnap/rest/Test/Connection/MSSQL2 は次の JSON 要求になります。
{"execute":{"Test.updateConnection":["MSSQL2"]}}
 - GET メッセージ http://mySite.com/datasnap/rest/Test/Connection は次の JSON 要求になります。
{"execute":{"Test.Connection":[]}}
 - DELETE メッセージ http://mySite.com/datasnap/rest/Test/Connection は次の JSON 要求になります。
{"execute":{"Test.cancelConnection":[]}}
 
これらのメソッドは次のように実装することができます。
acceptConnectionでは、"MSSQL1" という接続を開きます。updateConnectionでは、既存の接続があればそれを閉じ、新しい接続を開きます。Connectionでは、現在開いている接続の名前を返します。cancelConnectionでは、既存の接続があればそれを閉じます。
出力パラメータまたは戻り値パラメータが定義されている場合は、JSON 応答に含められます。
{
  "result": [
    parameterValue1,
    parameterValue2,
    // …
  ]
}
サーバーが例外を送出した場合、JSON 応答は次のようになります。
{
    "error": "Error message."
}