I servizi RESTful creati con Delphi DataSnap forniscono un mapping predefinito dei prefissi per i metodi REST esposti dal server DataSnap in base al tipo di metodo HTTP. Questi sono i seguenti: ". Il modello di mappatura può essere ignorato L'utente può ignorare la mappatura per ogni tipo in base al nome della classe e dei parametri nome del metodo"Come mappare i prefissi dei metodi HTTP personalizzati su un server DESThi DataSnap REST
HTTP Method type Prefix Example
GET none MyValue
POST Update UpdateMyValue
PUT Accept AcceptMyValue
DELETE Cancel CancelMyValue
La documentazione Tuttavia, non ho assolutamente trovato alcuna documentazione su come farlo. Voglio cambiare il prefisso del mio PUT da Accept a qualcos'altro. Come lo faccio?
Devo notare che un altro post qui su StackOverflow (REST Datasnap override URI mapping) tenta di rispondere a questa domanda sottolineando che TDSHTTervizio ha metodi per eseguire questa mappatura. Lo stesso post fa riferimento anche al white paper di DataSnap di Marco Cantù, che presumibilmente descrive anche come farlo. Questo white paper dice "È possibile personalizzare questi mapping gestendo i quattro gestori di eventi corrispondenti del componente DSHTTPWebDispatcher."
In RAD Studio XE, sia i componenti TDSHTTPService e TDSHTTPWebDispather aveva quattro eventi specifici, corrispondenti ai quattro metodi HTTP sopra elencati, e che sono stati progettati per mappare il prefisso. Questi metodi non esistono in XE2 e versioni successive.
Sto cominciando a sospettare che quello che voglio fare non è possibile nel quadro DataSnap senza una sorta di hack. Non è una cosa terribile, solo interessante che XE abbia supportato questo approccio, e XE2 e versioni successive no. –