sql-server – Delphi EMS FireDAC:如何使用EMS将参数从客户端传递到服务器?

我正在使用Delphi中的EMS(即未来的iOS应用程序)处理简单的客户端服务器应用程序.

在客户端单元上,我有EMSProvider和EMSFireDACClient,它通过数据源从数据库(MSSQL)获取数据.

在服务器单元上,我有FDConnection和TFDQuery来处理我的数据库.到目前为止一切正常.

问题:现在我需要将一些参数从客户端传递到服务器并获取结果数据.我该怎么办EMS? EMS中可用的任何功能或程序?

关于源代码,一切都由相应的组件处理.因此编码部分非常少.

提前致谢.

最佳答案 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;

希望这可以帮助.

点赞