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¶m2=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),实现这样的一些动作:
当有/ 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