首页 > 代码库 > idhttp.post方式 调用datasnap rest 远程方法

idhttp.post方式 调用datasnap rest 远程方法

idhttp.get方式调用,这种比较简单,大家都会。post方式网上却没有任何成功的代码,本人也是摸索了一个上午才搞定。

分享给大家。

(1)post方式调用的远程方法,方法名必须加“update”前缀,不加行不?你试下啦。

function TServerMethods1.updateecho(const value: String): String;
begin
Result := value;
end;

(2)客户端调用,参数必须是JSON格式的字符串。 客户端POST方式调用时,远程方法名必须去掉“update”前缀字符串,DATASNAP似乎不讲道理。

procedure TForm1.Button1Click(Sender: TObject);
var
url:string;
param:TStringStream;
begin
url:=‘http://localhost:8080/yn/rest/TServerMethods1/echo/‘;
param := TStringStream.Create;
param.WriteString(‘"demo"‘);
Caption := http.Post(url,param);
param.Free;
end;