我正在使用Delphi中的EMS
(即:将来的iOS应用程序)处理简单的客户端服务器应用程序。
在客户端单元上,我有EMSProvider
和EMSFireDACClient
,它通过数据源从数据库(MSSQL)获取数据。
在服务器上,我有FDConnection
和TFDQuery
来处理我的数据库。到目前为止一切正常。
问题:现在我需要将一些参数从客户端传递到服务器并获取结果数据。我应该如何使用EMS
? EMS
中可用的任何功能或程序?
关于源代码,所有内容都由相应的组件处理。因此编码部分非常少。
提前致谢。
答案 0 :(得分:2)
EMS呼叫就像一个REST呼叫。您可以在路径中传递更多URL参数(直接处理) - 请参阅按ID获取项目的默认实现)以及额外的查询参数。那些在请求对象中。要传递它们,请在客户端中使用自定义端点。
以下是更多信息:
服务器声明:
[ResourceSuffix('{item}')]
procedure GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
服务器实施:
procedure TNotesResource1.GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
var
LItem: string;
begin
LItem := ARequest.Params.Values['item'];
...
端点的客户端配置:
object BackendEndpointGetNote: TBackendEndpoint
Provider = EMSProvider1
Auth = BackendAuth1
Params = <
item
Kind = pkURLSEGMENT
name = 'item'
Options = [poAutoCreated]
end>
Resource = 'Notes'
ResourceSuffix = '{item}'
end
客户来电:
BackendEndpointGetNote.Params.Items[0].Value := AID;
BackendEndpointGetNote.Execute;
希望这有帮助。