Car*_*sen 6 delphi rest datasnap delphi-xe delphi-xe7
使用Delphi的DataSnap创建的RESTful服务基于HTTP方法类型为DataSnap服务器中公开的REST方法提供了前缀的默认映射.这些如下:
HTTP Method type Prefix Example
GET none MyValue
POST Update UpdateMyValue
PUT Accept AcceptMyValue
DELETE Cancel CancelMyValue
Run Code Online (Sandbox Code Playgroud)
文档声明"可以覆盖映射模式.用户可以根据类名和方法名参数覆盖每种类型的映射." 但是,我完全没有找到有关如何执行此操作的任何文档.我想将PUT的前缀从Accept更改为其他内容.我怎么做?
我应该注意到,StackOverflow上的另一个帖子(REST Datasnap覆盖URI映射)试图通过指出TDSHTTPService具有执行此映射的方法来回答这个问题.同一篇文章还引用了MarcoCantù的DataSnap白皮书,该白皮书据说也描述了如何做到这一点.该白皮书说:"您可以通过处理DSHTTPWebDispatcher组件的四个相应事件处理程序来自定义这些映射."
在RAD Studio XE中,TDSHTTPService和TDSHTTPWebDispather组件都有四个特定事件,对应于上面列出的四种HTTP方法,并且用于映射前缀.XE2及更高版本中不存在这些方法.
虽然可以将 DataSnap POST、PUT 和 DELETE HTTP 方法调用映射到 XE 中的替代前缀,但在 Delphi XE2 到 Delphi XE8 中不可能这样做。在这些版本中,您必须分别坚持“更新”、“接受”和“取消”。而且,说实话,这并不是一个真正的问题。
值得注意的是,您可以使用 Embarcadero 的企业移动服务 (EMS) 映射各种 HTTP 方法调用。我为 Embarcadero 撰写了一份白皮书并录制了有关 EMS 的视频演示。要访问白皮书和视频,请使用以下 URL。
http://www.embarcadero.com/rad-in-action/mobilizing-your-business-with-cary-jensen