为不同类型的响应设计 POST 响应主体
Designing POST response body for different types of responses
在我的客户端应用程序中,我对 \validate
端点进行了 POST
调用。此调用是为了在服务器端执行控制器而不是创建任何资源。作为响应,服务器可以提供两个完全不相关的 JSON 对象之一。从客户端,我如何知道在反序列化过程中我应该使用两种类型中的哪一种?执行此操作的干净方法是什么?
有多种方法可以实现。
在 http 响应中添加一些 header 以确定 body 类型。客户端应检查 header 并使用相应的反序列化器。这是 webhooks API 的典型方法,其中您有一个端点来处理不同的事件类型。例如,您可以检查使用 x-amz-sns-message-type
header 定义响应类型的 AWS SNS API。
作为替代方案,您可以使用特殊的 body 格式,其中包含一些 type
字段和 payload
取决于此类型。
{
"type: "Type",
"paylod": {
...
}
}
但我认为这种方法对客户端来说更难处理,需要两步反序列化过程。
在我的客户端应用程序中,我对 \validate
端点进行了 POST
调用。此调用是为了在服务器端执行控制器而不是创建任何资源。作为响应,服务器可以提供两个完全不相关的 JSON 对象之一。从客户端,我如何知道在反序列化过程中我应该使用两种类型中的哪一种?执行此操作的干净方法是什么?
有多种方法可以实现。
在 http 响应中添加一些 header 以确定 body 类型。客户端应检查 header 并使用相应的反序列化器。这是 webhooks API 的典型方法,其中您有一个端点来处理不同的事件类型。例如,您可以检查使用
x-amz-sns-message-type
header 定义响应类型的 AWS SNS API。作为替代方案,您可以使用特殊的 body 格式,其中包含一些
type
字段和payload
取决于此类型。
{
"type: "Type",
"paylod": {
...
}
}
但我认为这种方法对客户端来说更难处理,需要两步反序列化过程。