2011-10-19 61 views
0

我有一個失敗的URI錯誤的URI。錯誤的URI(不是URI?):

http://localhost:3000/api/v1/company_donations.json?token=foo&donation= {&量= 101} &評論=有序

目的是該URL通過2個屬性

  1. 令牌

  2. 捐贈對象具有屬性量和評論

如何在URI中傳遞捐贈對象?

+7

是StackOverflow上的URL識別未能「完成」其實鏈接應該告訴你什麼是錯的。 - 編輯:你的「DomationObject」需要一個'ToString'來輸出一個有效的URI組件。 –

+1

URL不是傳遞「複雜」數據結構的好地方。特別是嚴重的編碼結構。 –

+0

它的一個軌道應用程序。我想傳遞2個屬性的對象捐贈,所以我可以作爲params [:捐贈] [:金額]和params [:捐贈] [:comment] – Pykih

回答

2

您不傳遞URI中的對象。你只能有屬性。具體而言,{和}在URI屬性的上下文中沒有意義。

您需要爲您想要傳遞的捐贈中的每個字段提供一個參數。

例如:

...?token=foo&donation-amount=101&donation-comment=Ordered 
+0

訪問問題 - 我正在嘗試編寫一個WEB服務API。但我需要將3個對象傳遞給API。這是否意味着我應該在URL中傳遞30-40個參數?爲這些愚蠢的問題道歉。 – Pykih

+1

您應該根據需要在URL上傳遞儘可能多的參數。對於Web服務,您可能會考慮使用xml(或YAML或JSON等)編碼對象,並將它們傳遞到請求的主體中。這也適用於REST。使用URI來標識活動(添加,刪除,等等)和正文以包含詳細信息(對象) – DwB

+0

太棒了。得到它了。謝謝。 – Pykih

5

你需要URL Encode的URL。

如何做到這一點取決於您使用的語言和平臺,以及您忽略了在問題和標籤中指出的內容。

在這種情況下{編碼到%7B}%7D,一個完整的URL:使你最終

http://localhost:3000/api/v1/company_donations.json?token=foo&donation=%7B&amount=101%7D&comment=Ordered 
相關問題