【问题标题】:How can I response status code with asynchronous Request/Response?如何使用异步请求/响应响应状态代码?
【发布时间】:2022-06-18 14:41:38
【问题描述】:

您好,我正在尝试制作一个玩具项目,并使用 Saga Orchestrator 和 kafka 制作了 SignUp API。
我需要在成功时向客户端响应 JWT Token。
当我创建处于 PENDING 状态的用户时,我需要响应请求并将 kafka 消息发送到其他服务。
当其他服务成功时,用户服务将其状态更新为已创建。
但我不知道如何向客户端响应 http 状态码和响应正文。
如何向客户发送响应?

下面是我的流程图

【问题讨论】:

    标签: microservices saga event-driven


    【解决方案1】:

    如果您的请求以Async 方式处理(如Kafka、RabbitMQ 等),理想的解决方案是使用HTTP 200 AcceptedHTTP 204 No Content 响应。

    这些状态码表明您的请求有效并已被处理,但是,您当然不需要发送响应正文作为回报!

    最多,如果您返回带有 JSON 或 XML 或文本消息的响应就足够了...

    Http 200/204
    
    {
    
    "success": "您的请求正在处理中..."
    
    }

    您可以在此处阅读响应代码 https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 2016-06-04
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多