我应该如何链接REST API中的相关数据?

时间:2016-07-18 11:44:49

标签: api rest

我正在设计RESTful API来表示订单和付款交易。我的(简化)模型看起来像这样:

---------     ---------------
| order |----<| transaction |
---------     ---------------

即。订单可以有很多交易。如果我有这些端点来获取资源:

/orders/{id}
/orders/{id}/transactions

第二个调用返回事务对象列表(扩展或只能通过以下方式访问的ID)

/transactions/{id}

那么我应该如何更新订单资源来描述其交易?

我应该将事务对象数据列表发送到/orders/{id}/transactions,它们是否会被创建并链接到订单资源?

或者我应该向/transactions每笔交易发帖,然后PUT(或POST?)到/orders/{id}/transactions一个交易ID列表?

......还是其他什么?

如果我已经有一个交易资源并想要链接它怎么办?

1 个答案:

答案 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