REST Datasnap覆盖URI映射

时间:2011-11-22 16:11:36

标签: delphi rest uri delphi-xe2 datasnap

我在delphi XE2中使用REST datasnap编写了一个小型REST服务器。 HTTP方法(POST,PUT等)和delphi中定义的函数之间存在默认映射,这是由delphi组件完成的。

This wiki entry描述了URI映射,但也注意到程序员可以覆盖默认映射。

  

可以覆盖映射模式。用户可以根据类名和方法名参数覆盖每种类型的映射。

但我没有找到任何解释如何覆盖映射。

如何更改默认映射?

2 个答案:

答案 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