编程语言
首页 > 编程语言> > php – Delphi实现REST服务器

php – Delphi实现REST服务器

作者:互联网

我在服务器上有一个mysql数据库,我使用我编写的脚本在其上插入数据.我必须打开www.mywebsite.com/rest/create.php?param=value\u0026amp;param2=value2来创建一个新资源,然后我必须打开另一个php文件来编辑一个项目.这是基本方法:php文件接受一些参数,然后将文件存储在数据库中.

我正在使用TIdHTTP,因为我有可能做类似的事情:

TIdHTTP1.Get(www.mywebsite.com/rest/create.php?param=value&param2=value2);

create.php页面返回一些以json编码的数据.在我的Android应用程序中,我创建了一个休息客户端,能够解析收到的响应php页面的json.例如,如果我调用了… / show.php?id = 3,则页面的结果是带有我的数据的json;之后Android应用程序将解析它们并向用户显示一些结果.

而不是打电话给www.mywebsite.com/rest/create.php?param=value\u0026amp;param2=value2我希望能够做到这样的事情www.mywebsite.com/rest/create/?param=value\u0026amp;param2=值2.基本上我不想在* .php中使用文件名,但我想使用没有文件名的第二种URI.

问题是这是我的第一次,我真的不知道该怎么做.

可能解决方案阅读Expert Delphi后,我找到了一个可能的解决方案.我可以为linux创建一个WebBroker服务器(这样我就可以导出Apache模块* .so),实现这样的一些动作:

enter image description here

当有/ rest / create /请求时(使用OnAction事件)我可以运行TIdHTTP1.Get(www.mywebsite.com/rest/create.php?param=value\u0026amp;param2=value2);并存储结果.通过这种方式,我可以根据需要打开www.mywebsite.com/rest/create/并保存数据. indy可以执行get请求,即使它是在linux机器上(作为apache模块)吗?我已经看到独立服务器在indy下运行所以我想indy应该可以在apache模块上运行.

不幸的是,我对这种事情很新,实际上我也不知道在网上搜索什么解决方案.我的解决方案可以工作,但我很确定有一个适当的最终有效的方法来做到这一点.

注意:这只是我做过一些研究之后的一个想法,我不确定这是做我需要的正确方法.不是做我上面写的,我只需要用PHP或Apache做些什么吗?是否有另一种标准(和最好的)方法来创建REST服务?

解决方法:

您的问题不在Delphi方面,而在服务器方面.

如果你想要一个URL / rest / create /,你只需要在服务器的“rest”文件夹下创建一个“create”文件夹,并在其上放一个index.php文件.

或者,您可以在.htaccess文件中使用URL重写规则.

标签:php,rest,delphi,indy
来源: https://codeday.me/bug/20190701/1349136.html