我们的目标是开发API,您可以在其中发布/data/save/
,它将接受一些JSON数据,如下所示。 JSON应包含以下属性之一的主要要求:
" attribute1"," attribute2"," attribute3"。即当存在一个属性时,另一个属性不应存在。
{
"name": "test name",
"attribute1": [
"test1", "test2"
]
or
"attribute2": [
"test3", "test4"
]
or
"attribute3": true
}
问题是如何正确设计这样的API,它易于使用,而不会与客户端混淆。
了解这方面的一些最佳实践会很好。
答案 0 :(得分:1)
我会返回
400错误请求
由于格式错误,服务器无法理解该请求 句法。客户端不应该重复请求 修改
以及解释不支持多个属性的短语。
答案 1 :(得分:1)
我同意这样的API让客户端感到困惑。
关于创建不同端点的内容:
POST / data / save / attribute1 json_1
POST / data / save / attribute2 json_2
答案 2 :(得分:0)
custom media type应说明如何使用您的API。它应该指定您的请求中包含的内容。
另一个解决方案可能是,建立这样的请求:
{
"name": "test name",
"attr-key": "my-attribute1",
"values": ["test1", "test2"]
}