2016-11-28 96 views
0

我正在創建一個集羣中的kafka代理,向url發送一個請求。根據api說,我可以以/api/broker/<cli command>?broker={broker-expr}&<setting>=<value>的形式向我的經紀人添加其他選項,但是我需要設置的設置具有json作爲其值。我將如何做到這一點?如何在REST請求的URL中傳遞json?

我試圖在他們沒有工作,寫它的相當多的不同方式。 JSON的價值,就是要

{ 
    "period":"10s" 
} 

我已經試過

  • /api/broker/remove?broker=0&stickiness={"period":"10s"}
  • /api/broker/remove?broker=8&stickiness={period:10s}
  • /api/broker/remove?broker=8&stickiness="{period:10s}"

更新: 我已經試過編碼的URL,但它仍然不起作用。除了:以外,所有內容都被解碼。

我的JSON輸入的字符串:%7B%22period%22%3A%22600s%22%7D

這是因爲後,我送它什麼它結束了。 enter image description here

如何編碼:

+0

爲什麼在查詢中,爲什麼不在身體裏? 您是否也知道您可以使用http://restsharp.org/來滿足您的所有REST目的? – Manoj

+0

因爲這就是他們的REST api規定的要求 – annedroiid

+0

但總是有一個具有REST請求的主體。 AFAIK,這是在查詢本身執行的不好的方式。否則你會一直編碼,然後解碼。 – Manoj

回答

1

只有您提出的第一個選項是正確的JSON。但是,JSON需要進行編碼。

編碼只是JSON部分結果%7B%22period%22%3A%2210s%22%7D

看看下面的網站以獲得更多關於URL編碼 http://www.w3schools.com/tags/ref_urlencode.asp

+0

它似乎無法解碼我的冒號,我使用的每個站點/工具都將它編碼爲%3A,但是當我嘗試發送請求時,它是唯一未正確解碼的位。 – annedroiid

相關問題