我正在设计RESTful API来表示订单和付款交易。我的(简化)模型看起来像这样:
--------- ---------------
| order |----<| transaction |
--------- ---------------
即。订单可以有很多交易。如果我有这些端点来获取资源:
/orders/{id}
/orders/{id}/transactions
第二个调用返回事务对象列表(扩展或只能通过以下方式访问的ID)
/transactions/{id}
那么我应该如何更新订单资源来描述其交易?
我应该将事务对象数据列表发送到/orders/{id}/transactions
,它们是否会被创建并链接到订单资源?
或者我应该向/transactions
每笔交易发帖,然后PUT(或POST?)到/orders/{id}/transactions
一个交易ID列表?
......还是其他什么?
如果我已经有一个交易资源并想要链接它怎么办?
答案 0 :(得分:3)
您可以使用public void onPageFinished(WebView view, String url) {
progressDialog.dismiss();
}
为订单创建交易,如下所示:
POST
要将现有交易链接到订单,您可以认为交易资源包含名为订单的子资源。要替换事务的顺序,您可以使用POST /orders/{id}/transactions HTTP/1.1
Host: example.org
Content-Type: application/json
{
... transaction representation ...
}
,在请求有效负载中发送订单标识符:
PUT
或者,您可以使用PUT /transactions/{id}/order HTTP/1.1
Host: example.org
Content-Type: application/json
{
"order": 100
}
和JSON Patch来部分更新交易资源:
PATCH