2016-11-28 1 views
0

URL에 요청을 보내 클러스터에 kafka 중개인을 만들고 있습니다. 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

왜 쿼리, 왜 몸에 있지 않은가? 또한 모든 REST 목적에 대해 http://restsharp.org/를 사용할 수 있다는 것을 알고 계셨습니까? – 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

관련 문제