2013-04-22 167 views
0

所以我在後端有一個方法,我想從客戶端調用(Android和web,雖然不是很重要)。該方法接受兩個「複雜」參數 - 兩個對象。調用REST服務的方法的正確方法(帶有多個參數)

可以簡單地聲明一個URL(例如domain/method),客戶端向其發送對象,並在後端有一個控制器映射到該URL並調用該方法?如果是的話,我應該如何發送POST請求和兩個對象?

回答

1

當你談論域/方法時,它聽起來更像是RPC服務而不是REST服務。 RPC(遠程過程調用)用於基於方法的服務,而REST用於基於資源的服務。

在任何情況下,當你創建一個REST API,你應該使用的網址如下所示:

example.com/resource/ example.com/resource

當你需要創建一個新的資源,請使用example.com/resource上的POST方法。您可以將您的對象包含在POST請求的有效內容中。服務器應驗證並處理那些最終生成新資源的對象。根據您的REST架構,服務器可以在您的帖子的回覆中返回資源或資源的URI。

驗證和處理對象並生成資源的方式取決於您的應用程序。通常,您使用URI和HTTP方法(GET,POST,PUT或DELETE是標準的)來路由到處理請求的代碼。

+0

哦:/所以在做REST時它應該是全部*資源? :/如果客戶端上的一個按鈕只需要增加一些東西(創建沒有新的資源)會怎麼樣? – Bloke 2013-04-22 19:55:00

+0

假設需要增加的項目是現有資源的屬性,可以使用PUT或PATCH更新它。 – 2013-04-22 20:38:31

+0

然後我會做的是發送PUT/PATCH請求與一個空的正文(?)到'example.com/resourceToUpdate',並在服務器上有一些代碼,這是觸發這個URL和PUT/PATCH請求增加屬性? – Bloke 2013-04-23 09:42:34