gpt4 book ai didi

web-services - 使用 IIS 在 Delphi 2009 中创建 REST Web 服务

转载 作者:行者123 更新时间:2023-12-03 14:43:38 24 4
gpt4 key购买 nike

是否可以在 Delphi 2009 中创建在 IIS 上运行的 REST Web 服务?我已经查看了网络代理和网络快照网络服务器应用程序,但到目前为止还无法弄清楚。如果可能的话我将如何让它发挥作用?

最佳答案

REST Web 服务在 Delphi 中非常简单...事实上太简单了,因为有时它被掩盖并隐藏在复杂的 WebSnap 演示中。您可以使用 Web 代理、WebSnap、Indy、Synapse 或其他通用 HTTP 服务器组件。我不会在您第一次 RESTful 郊游时使用 WebSnap。我会坚持使用 WebBroker,或者更简单的是 Indy。

文件->新建->其他网上经纪商->网络服务器应用程序

您可以选择 ISAPI DLL 或 Web 应用程序调试器...对于您的第一个,我推荐使用 WAD 应用程序。 (事实上​​,任何 Web 应用程序都应该从服务器的 WAD 开始,然后创建客户端测试器应用程序,以便以后的调试更加容易。)如果选择 WAD,则为其指定一个名称 - 例如 MyFirstREST。这将创建一个具有默认 Web 模块的项目,该模块使用简单的 HTML 文档响应任何请求。

右键单击 Web 模块,单击“操作编辑器”弹出菜单项,然后通过自定义 PathInfo 设置创建 RESTful 命令。然后您只需定义事件来响应这些命令。

对于 Indy,只需启动一个新的 Windows 服务应用程序并将 TidHTTPServer 组件放到服务数据模块上即可。然后为简单的 HTTP GET 请求 (http://yourserver/customer?id=1) 定义 OnCommandGET,并为 POST 请求定义 OnCommandOther。

有一个 TIdHTTPResponseInfo 和一个 TIdHTTPResponseInfo 发送到事件中...只需查看 GET 的 QueryParams 即可提取传入的参数并填充响应的 ContentStream(或 ContentText)以及 ContentType。

可以在线找到许多有关 REST 实现的教程 - 一个来自 IBM:http://www.ibm.com/developerworks/webservices/library/ws-restful/

通常,您使用 RESTful 服务器来处理 XML 请求和响应,但实现服务器的方式没有限制。这完全取决于客户的期望。如果您也控制客户端,那么您甚至可以通过序列化 TObject 后代来来回传递对象。

关于web-services - 使用 IIS 在 Delphi 2009 中创建 REST Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6039214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com