我们有一个网站来连接货物的买家和卖家。基于请求的body参数,API可以让restful POST api发回两个不同的资源吗?
我们正在设计POST API以捕捉买家对任何卖家产品的兴趣。 API Uri和请求正文如下所示:
/api/lead/
{
"name":"xyz",
"mobile": "00984343",
"stockid":4
}
API是POST,因为我们会将此信息保存到数据库中。
目前,如果“stockid”是属于我们的优质客户股票中,API发回卖家细节API响应正文:
{
"sellername":"abc",
"sellermobile":"75654647",
"selleraddress": "faje street, curl"
}
如果“stockid”是属于我们正常客户的股票,该API发送该产品的背面完整细节API响应体(和不发送回卖方详情)
{
"description": "good 2nd hand mobile",
"purchasedate": "24 july,2017",
"purchaseprice": "10000"
}
同一职位的API发回2种不同类型的资源(一个是卖方详情,另一种是股票的详细信息)基于股票ID。
以这种方式设计API,即根据某些请求主体参数发送回各种类型的响应的POST API是否安定?
“POST应该用于创建对象” - 请为此提供参考。 –
不确定什么可以作为客观参考,但资源在这[示例1]上相当一致[http://www.restapitutorial.com/lessons/httpmethods.html] [示例2](http://restcookbook.com/HTTP %20Methods/put-vs-post /) –
从您的第一个参考文献开始,第二句话:“在某些场合下,使用PUT创建资源或使用POST更新资源是很有可能的,有效的甚至是首选。从您的第二个参考中,在“PUT”下:“但是,PUT也可用于在资源ID由客户端而不是服务器选择的情况下创建资源。” –