我目前正在使用@POST Web 服务来检索数据。一开始,我的想法是传递参数映射。然后我的函数,在服务器端,将负责读取地图中所需的参数并返回响应。这是为了防止在服务器端有大量几乎相同的功能。
但如果我理解正确,@POST 应该用于创建内容。
所以我的问题是:使用@POST 进行数据检索是一个很大的编程错误吗?每个用例创建 1 个 Web 服务是否更好,即使它很多?
谢谢。罗曼。
POST 用于表示您正在提交数据。GET 请求可以加书签,POST 不能。在出现单页 Web 应用程序之前,我们使用 post-redirect-get 来接受数据提交并显示一个可预订的页面。
如果您使用 POST 来检索数据,那么网络缓存将不起作用,因为缓存代码不会缓存 POST,它期望 POST 意味着它需要使其缓存无效。如果您根据用例将服务拆分并使用 GET,那么您可以让Squid之类的东西缓存响应。
您现在可能不需要实现缓存,但最好保持该选项处于打开状态。使您的服务以合规的方式运行意味着您可以利用现有工具和基础设施(这是 REST 的卖点)。
doGet();
由服务器调用(通过 service 方法)以允许 servlet 处理 GET 请求。
doPost()
由服务器调用(通过 service 方法)以允许 servlet 处理 POST 请求。
他们没有问题。两者都会处理您的请求。