RESTClient 控件 从服务器获得数据集 REST

REST

用TRESTClient控件调用REST架构服务

RESTClient控件返回数据集

用到的控件

RESTClient

RESTRequest

RESTResponseDataSetAdapter

procedure Tfrm_Main.btn_DataSet_FetchDataClick(Sender: TObject);
begin
  ResetRESTComponentsToDefaults;

  RESTResponseDataSetAdapter.Response:= RESTResponse;
  RESTResponseDataSetAdapter.Dataset:= ClientDataSet;

  RESTClient.BaseURL := edt_DataSet_BaseURL.Text;   //http://www.developer-experts.net/hdmobile/api/
  RESTRequest.Resource := edt_DataSet_ResourceURI.Text;  //mandators
  RESTRequest.Execute;
end;

官方例子Studio14.0SamplesObject PascalDatabaseRESTDemo

D:DocumentsEmbarcaderoStudio14.0SamplesObject PascalDatabaseRESTDemo

unit Unit24;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids,
  IPPeerClient, REST.Client, Data.Bind.Components, Data.Bind.ObjectScope,
  REST.Response.Adapter, Data.DB, Datasnap.DBClient;

type
  TForm24 = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    RESTRequest1: TRESTRequest;
    RESTClient1: TRESTClient;
    RESTResponseDataSetAdapter1: TRESTResponseDataSetAdapter;
    ClientDataSet1: TClientDataSet;
    RESTResponse1: TRESTResponse;
    DataSource1: TDataSource;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form24: TForm24;

implementation

{$R *.dfm}

procedure TForm24.Button1Click(Sender: TObject);
begin
  RESTResponseDataSetAdapter1.Response := self.RESTResponse1;
  RESTResponseDataSetAdapter1.Dataset := self.ClientDataSet1;

  RESTClient1.BaseURL := 'http://www.developer-experts.net/hdmobile/api/';
  RESTRequest1.Resource := 'mandators';
  RESTRequest1.Execute;
end;

end.
View Code

http://community.embarcadero.com/blogs/entry/rad-studio-10-1-berlin-rest-json-and-using-a-fun-site-name2gender-com

 RESTRequest1->AddParameter("Name",UpperCase(Edit1->Text));
  RESTRequest1->Execute();
  RESTStatusLabel->Text = IntToStr(RESTResponse1->StatusCode)+"/"+RESTResponse1->StatusText;
  Memo1->Lines->Add(RESTResponse1->JSONText);


RESTRequest1.Params[0].Value := UpperCase(Edit1.Text);
  RESTRequest1.Execute();
  RESTStatusLabel.Text := IntToStr(RESTResponse1.StatusCode)+'/'+RESTResponse1.StatusText;
  Memo1.Lines.Add(RESTResponse1.JSONText);
原文地址:https://www.cnblogs.com/cb168/p/3887269.html