2016-11-28 88 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

相关问题