idhttp.post方式 调用datasnap rest 远程方法
关于如何调用DATASNAP的REST方法,请参考:http://www.cnblogs.com/hnxxcxg/p/3825643.html博文,不论网页还是IDHTTP都可以访问,不论GET还是POST方法都可以的。
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;
http://www.cnblogs.com/hnxxcxg/p/3825643.html
http://bbs.2ccc.com/topic.asp?topicid=537043