Spring - 将一个端点的响应连接到另一个端点的请求

Posted

技术标签:

【中文标题】Spring - 将一个端点的响应连接到另一个端点的请求【英文标题】:Spring - Connecting a response from one endpoint to a request to another endpoint 【发布时间】:2021-12-14 01:19:13 【问题描述】:

我正面临一个问题,我确实有一些方法可以解决,但是如果有更优化的方法来解决,我很感兴趣。这是一个现实世界的问题,但出于这个问题的目的,我将对其进行简化。

我有一个名为/initialise-string 的端点,它将向前端返回一个随机生成的字符串。在前端,此字符串可能会更改也可能不会更改,但是它将被发送到后端名为 /check-if-same-string 的另一个端点,该端点将获取该字符串,并且需要检查它是否是相同的字符串之前是从/initialise-string 返回的。所以,这将是:

GET www.myapp.com/initialise-string(前端获取asd-123

前端将字符串改为asd-555

POST www.myapp.com/check-if-same-string(应该检查 asd-555 === asd-123

由于这个问题也是出于我的教育目的,如果可以的话,请在假设应用程序使用 cookie 和不使用 cookie 的情况下为我提供答案,您将如何解决每种情况。保存到数据库是不受限制的。将旧字符串和新字符串都发回是禁止的。

我期待每一个答案!如果我的问题不够清楚,请告诉我。

谢谢!

【问题讨论】:

【参考方案1】:

要再次检查字符串,我们需要以某种方式存储随机生成的字符串。我们可以为此使用cookies,如果我们不想使用数据库并且我们不想将字符串发送给用户,那么我们可以通过使用一些内存数据库或缓存机制来做到这一点,这样我们就可以临时存储它们除非它已经过验证,而且我们可以应用一些时间限制在一段时间后从缓存中删除字符串。我们必须维护一个记录来跟踪特定请求或用户的字符串,以便以后验证它。

【讨论】:

以上是关于Spring - 将一个端点的响应连接到另一个端点的请求的主要内容,如果未能解决你的问题,请参考以下文章

如何将实时音频流端点连接到直线语音端点?

Spring Boot响应式WebClient调用遗留端点

找不到引用合同的默认端点元素:通过 Powershell cmdlet 连接到 WCF 端点

ReactJS - NodeJS - 在 AWS Lambda 上连接到 Graphql 的问题

Amplify Flutter:如何连接到现有的 GraphQL 端点

JHipster 验证连接到 REST 端点的用户