您好,我正在尝试制作一个玩具项目,并使用 Saga Orchestrator 和 kafka 制作了 SignUp API。
当成功时我需要响应 JWT token 给客户端。
当我创建处于 PENDING 状态的用户时,我需要响应请求并向其他服务发送 kafka 消息。
当其他服务成功时,用户服务将其状态更新为 CREATED。
但我不知道如何向客户端响应http状态代码和响应正文。
如何向客户发送回复?
下面是我的流程图
最佳答案
如果您的请求以异步
方式处理(例如Kafka、RabbitMQ等),理想的解决方案是使用HTTP 200 Accepted
或 HTTP 204 无内容
响应。
这些状态代码表明您的请求有效并且已被接受,但是,您当然不需要发送响应正文作为返回!
最多,如果您返回一个包含 JSON 或 XML 或文本消息的响应就足够了......
Http 200/204 { "success": "your request is processing..." }
您可以在此处阅读有关响应代码的信息 https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200
关于microservices - 如何使用异步请求/响应响应状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72441242/