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 :
acceptConnectionouvre une connexion appelée "MSSQL1".updateConnectionferme le cas échéant la connexion existante et en ouvre une nouvelle.Connectionrenvoie le nom de la connexion ouverte en cours.cancelConnectionferme 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."
}