我在delphi XE2中使用REST datasnap编写了一个小型REST服务器。 HTTP方法(POST,PUT等)和delphi中定义的函数之间存在默认映射,这是由delphi组件完成的。
This wiki entry描述了URI映射,但也注意到程序员可以覆盖默认映射。
可以覆盖映射模式。用户可以根据类名和方法名参数覆盖每种类型的映射。
但我没有找到任何解释如何覆盖映射。
如何更改默认映射?
答案 0 :(得分:2)
TDSHTTPService组件具有可以指定每种类型的映射的事件。这些事件称为RESTMethodNameMapDELETE,RESTMethodNameMapGET,RESTMethodNameMapPOST和RESTMethodNameMapPUT。
MarcoCantù在white paper on REST中也解释了这一点,它解释了很多关于REST和Datasnap的内容。
答案 1 :(得分:1)
我想知道同样的事情,做了一些实验。似乎至少部分可以控制网址。具体来说,我尝试更改网址的类名部分。
基本上,如果您使用的是TComponent的后代,您可以为该类命名。如果你从TDataModule下降,这不起作用。在这种情况下,您可以创建和别名类,您可以根据TDataModule命名您想要的名称。
在尝试绑定到此时,您需要在客户端绑定中进行一些清理,但它似乎有效,至少对于简单的测试而言。
在Embarcadero论坛上查看更多信息。
https://forums.embarcadero.com/thread.jspa?threadID=77624&tstart=0