我是 REST 开发的新手,我正在创建一个简单的 REST API 来从客户端请求数据库值。我使用了“Delphi Web 服务器应用程序”项目助手(使用 TIdHTTPWebBrokerBridge 和创建不同“操作”的 WebModule 的那个)。它工作正常,我可以向客户提出请求。
服务器 WebModule 包含一个 FDConnection 和一些 FDQuery 组件来进行数据库(MySQL)查询,每个 Action 执行一个特定的查询,并通过请求参数获得特定的参数。
客户端应用程序使用 TRESTResponse、TRESTRequest、TRESRResponse 组件来发送/接收数据。
例如:
- 客户端请求服务器为特定用户提供一些值,发送“user = user1”和“passwd = ***”作为请求参数。
- 服务器执行查询“select * from xxx where user = user1 and passwd = .......”并将响应发送给客户端。
每个查询都是“用户特定的”。
好的,它有效,但由于我的休息/网络经纪人功能无知,现在我有些疑虑。
如果一次发出数千个请求怎么办?服务器是否会因为 FDQuery 游标在另一条记录中而响应不正确的数据?或者网络经纪人是否为每个请求创建查询没有问题?
在运行时为每个请求创建 FDQuery 并在请求完成后销毁它会更好吗?
我昨天做了一个简单的测试,运行三个客户端应用程序实例,同时向服务器发送 300 个请求(每个客户端 100 个),它工作正常,接收到正确的数据,但我不知道这是否足够保证。
这是(Delphi Web 服务器应用程序)创建服务器的正确方法吗?与 DataSnap 有什么区别?
有什么建议吗?