3

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

这个 wiki 条目描述了 URI 映射,但也注意到程序员可以覆盖默认映射。

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

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

如何更改默认映射?

4

2 回答 2

2

TDSHTTPService 组件具有事件,您可以在其中指定每种类型的映射。这些事件称为 RESTMethodNameMapDELETE、RESTMethodNameMapGET、RESTMethodNameMapPOST 和 RESTMethodNameMapPUT。

Marco Cantù的 REST 白皮书中也解释了这一点,其中解释了很多关于 REST 和 Datasnap 的内容。

于 2011-12-21T15:01:10.800 回答
1

我想知道同样的事情,并做了一些实验。似乎至少部分可以控制 url。具体来说,我尝试更改 url 的类名部分。

本质上,如果您使用的是 TComponent 后代,则可以将类命名为任何名称。但是,如果您从 TDataModule 下降,这将不起作用。在这种情况下,您可以创建和别名类,您可以命名您想要的从 TDataModule 中继承的类。

尝试绑定到此时,您需要在客户端绑定中进行一些清理,但它似乎有效,至少对于简单的测试。

在 Embarcadero 论坛上查看更多信息。

https://forums.embarcadero.com/thread.jspa?threadID=77624&tstart=0

于 2012-10-03T12:34:44.587 回答