【发布时间】:2020-04-30 06:48:01
【问题描述】:
我有一个 REST API uploadFeed,它根据 feedType 上传用户提要(字符串值作为请求正文的一部分输入)。不同的 feedtype 在请求体中提供了不同的 pojo 模型。
例如,如果 feedType 是“TYPE1”,那么 API 的请求正文应如下所示:
{
"feedType":"TYPE1",
"inputModel": {
"a": "somevalue"
"b" : "somevalue",
"c" : "somevalue",
}
}
如果 feedType 是“TYPE2”,那么 API 的请求正文应如下所示:
{
"feedType":"TYPE2",
"inputModel": {
"x": "somevalue"
"y" : "somevalue",
"z" : "somevalue",
}
}
现在我想避免为两种 feedType 提供不同的 REST API 端点。我正在考虑提供 inputModel 的序列化对象作为输入,然后根据 feedType 在后端反序列化。例如
{
"feedType":"TYPE2",
"inputModel": "<<serialized object>>"
}
这是一个好的 REST API 设计还是有更好的选择。
【问题讨论】: