【发布时间】:2018-04-25 05:44:41
【问题描述】:
我希望一个 web 服务调用的响应稍后被其他 web 服务调用使用。我如何实现它的代码流。我必须保持会话吗? 我正在使用 Spring、java 创建宁静的 Web 服务 如果用户 1 调用 endPoint /getUserRecord 并且 1 分钟后调用 /checkUserRecord 使用第一次调用的数据,如何处理它,因为用户 2 可以在用户 1 调用 /checkUserRecord 之前调用 /getUserRecord 我正在使用 Spring java 创建 RESTFul Web 服务。
谢谢, 阿皮特
【问题讨论】:
-
不要让它有状态。将您从第一次调用中获得的 id 传递给另一个。
-
但这需要再次调用数据库。我的想法是在第一次调用中检索 userRecord 并在第二次调用中使用它而不再次调用 Databse ..对此有什么建议吗?
-
在第二次调用中,我相信您需要将整个 userRecord 传递给 /checkUserRecord。无需从数据库中检索。
-
那么如何在第二个 webServiceCall 中不进行数据库调用的情况下检索 userRecord 呢?
-
您缓存它,或者为良好的无状态设计做出权衡,然后再次询问数据库。如果用户已经拥有数据,他为什么要请求相同的数据?也许你的 api 设计不是最好的。您知道您是否有诸如 get 或 check in your endpoints 之类的动词有问题
标签: java spring rest web-services