Datasnap.DSService.TDSRESTService
Delphi
TDSRESTService = class(TDSService)
C++
class PASCALIMPLEMENTATION TDSRESTService : public TDSService
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | Datasnap.DSService.pas Datasnap.DSService.hpp |
Datasnap.DSService | Datasnap.DSService |
Description
Implémentation du service REST.
Les méthodes de requête sont mappées comme suit sur les opérations CRUD (EN) :
- GET : /MethodClass/MethodName/inputParameter[/inputParameter]*
- Requête JSON : {"execute":{"MethodClass.MethodName":[inputParameter[,inputParameter]*]}}
- PUT : /MethodClass/MethodName/inputParameter[/inputparameter]* et [content]
- Requête JSON : {"execute":{"MethodClass.acceptMethodName":[inputParameter[,inputParameter]*[,JSONValue]}}
- POST : /MethodClass/MethodName/inputParameter[/inputparameter]* et [content]
- Requête JSON : {"execute":{"MethodClass.updateMethodName":[inputParameter[,inputParameter]*[,JSONValue]}}
- DELETE : /MethodClass/MethodName/inputParameter[/inputParameter]*
- Requête JSON : {"execute":{"MethodClass.cancelMethodName":[inputParameter[,inputParameter]*]}}
Par exemple, pour gérer une connexion de base de données, vous pouvez utiliser :
- Message PUT http://mySite.com/datasnap/rest/Test/Connection/MSSQL1 a pour résultat dans la requête JSON
{"execute":{"Test.acceptConnection":["MSSQL1"]}}
- Message POST http://mySite.com/datasnap/rest/Test/Connection/MSSQL2 a pour résultat dans la requête JSON
{"execute":{"Test.updateConnection":["MSSQL2"]}}
- Message GET http://mySite.com/datasnap/rest/Test/Connection a pour résultat dans la requête JSON
{"execute":{"Test.Connection":[]}}
- Message DELETE http://mySite.com/datasnap/rest/Test/Connection a pour résultat dans la requête JSON
{"execute":{"Test.cancelConnection":[]}}
Vous pouvez implémenter ces méthodes comme suit :
acceptConnection
ouvre une connexion appelée "MSSQL1".updateConnection
ferme le cas échéant la connexion existante et en ouvre une nouvelle.Connection
renvoie le nom de la connexion ouverte en cours.cancelConnection
ferme le cas échéant la connexion existante.
Lorsque des paramètres de sortie ou de retour sont définis, ils sont intégrés à la réponse JSON :
{
"result": [
parameterValue1,
parameterValue2,
// …
]
}
Si le serveur envoie une exception, la réponse JSON est :
{
"error": "Error message."
}