2013-10-08 48 views
0

我有以下問題。請建議我輸入。設計REST URL

我要求的交易清單可以歸類爲

a。待定/已完成

b。對於給定帳號

c。對於給定的客戶ID

d。對於給定的類別(類別A,類別B)等等。

以上4種以上的任何一種都是可選的。

我考慮把上述4個選項的查詢參數,並有一個網址,像這樣http://localhost:8080/Transaction/?status=pending&customerid=3,4&category=catA

這是對這一要求一個好的設計?

[編輯] 我不知道是否是好的設計傳遞名詞作爲查詢參數。

+0

說明:您是否要同時通過多個帳號和多個客戶ID和多個類別? – Joshi

+0

是的。有可能超過一個。但是狀態只會一直處於等待狀態或完成狀態。 – Satish

+1

對我來說,這看起來非常合理。你的資源是一個交易,所以它在路徑中。您正嘗試從所有交易中檢索特定的特定子集。 – deitch

回答

1

根據REST URI設計,您必須首先找到資源,然後找到操作以及它們如何鏈接到對方。

此外,您應該在您的URI中使用名詞,並儘量減少查詢參數的數量。

對於這種情況,您基本上想要根據某些條件搜索事務,如您所述。

http://localhost:8080/transaction?status=pending&customerid=3,4&category=catA 

你說得對,但是實現應該將查詢參數的值拆分爲提取值。

在一般實踐中,消費者,賬戶可以被視爲單獨的資源。

http://localhost:8080/consumer/{consumerId}/account/{accountNumber}/transaction?status=pending