2015-01-29 36 views
6

Usługi RESTful utworzone za pomocą DataSnap firmy Delphi zapewniają domyślne mapowanie prefiksów dla odsłoniętych metod REST z serwera DataSnap na podstawie typu metody HTTP. Są one następujące: „. Wzór mapowanie może być przesłonięta Użytkownik może przesłonić odwzorowania dla każdego typu w oparciu o nazwę klasy i parametrów nazwa metody”Jak mapować niestandardowe prefiksy metod HTTP na serwerze REST DataSnap Delphi

HTTP Method type Prefix  Example 
GET    none   MyValue 
POST    Update  UpdateMyValue 
PUT    Accept  AcceptMyValue 
DELETE    Cancel  CancelMyValue 

państw dokumentacji Jednak nie udało mi się znaleźć żadnej dokumentacji, jak to zrobić. Chcę zmienić prefiks mojego PUT z Accept na coś innego. Jak mogę to zrobić?

Należy zauważyć, że inna wiadomość o StackOverflow (REST Datasnap override URI mapping) próbuje odpowiedzieć na to pytanie, wskazując, że TDSHTTPService ma metody wykonywania tego odwzorowania. Ten sam post odwołuje się również do białej księgi DataSnapa autorstwa Marco Cantù, która podobno również opisuje, jak to zrobić. Ten dokument mówi: "Możesz dostosować te odwzorowania, korzystając z czterech odpowiednich programów obsługi zdarzeń komponentu DSHTTPWebDispatcher."

W RAD Studio XE zarówno komponenty TDSHTTPService, jak i TDSHTTPWebDisplease miały cztery określone zdarzenia, odpowiadające czterem wymienionym powyżej metodom HTTP i zaprojektowane do mapowania przedrostka. Te metody nie istnieją w XE2 i później.

+0

zaczynam podejrzewać, że to, co chcę zrobić, nie jest możliwe w ramach DataSnap bez jakiejś hack. To nie jest straszne, tylko interesujące, że XE wspiera to podejście, a XE2, a później nie. –

Odpowiedz

0

Chociaż możliwe było odwzorowanie wywołań metod DataSnap POST, PUT i DELETE HTTP na alternatywne prefiksy w XE, nie można tego zrobić w Delphi XE2 przez Delphi XE8. W tych wersjach musisz trzymać odpowiednio Update, Accept i Cancel. I szczerze mówiąc, to nie jest prawdziwy problem.

Warto zauważyć, że można można mapować różne wywołania metod HTTP za pomocą Embarcadero Enterprise Mobility Services (EMS). Napisałem białą księgę i nagrałem prezentację wideo na temat EMS dla Embarcadero. Aby uzyskać dostęp do białej księgi i wideo, użyj następującego adresu URL.

http://www.embarcadero.com/rad-in-action/mobilizing-your-business-with-cary-jensen