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."
}