1. 程式人生 > >idhttp.post方式 調用datasnap rest 遠程方法(轉詠南兄)

idhttp.post方式 調用datasnap rest 遠程方法(轉詠南兄)

str var ech free 客戶 eat dht RoCE dem

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;

idhttp.post方式 調用datasnap rest 遠程方法(轉詠南兄)