Как я могу вызвать веб-сервисы с curl с JSON Param? - PullRequest
1 голос
/ 14 марта 2019

Я программирую на Java.Я разработал тестовый веб-сервис, в котором я передаю случайный json, и сервис возвращает мне привет

Здесь код веб-сервиса:

@Path("test")
@GET
@Consumes(MediaType.APPLICATION_JSON)
public String test(@HeaderParam("token") String token, @QueryParam("array")String array)
{
    return "hello";
}

Я звоню в сервис с помощью curl

curl -v -H 'token:aaaa' 'http://140.145.1.2/clayapi/restservices/test?array=[{"name":"george","lastname":"ronney"}]';

сообщение об ошибке:

curl: (3) [globbing] illegal character in range specification at pos 60

Я пытался добавить -g, но он не работает .. как мне поступить?

1 Ответ

2 голосов
/ 14 марта 2019

Использование -G вместе с --data-urlencode:

curl -v -G 'http://example.org' \
    -H 'header:value' \
    --data-urlencode 'array=[{"name":"george","lastname":"ronney"}]'

Из документации :

-G, --get

При использовании этой опции все данные, указанные с помощью -d, --data, --data-binary или --data-urlencode, будут использоваться в запросе HTTP GET вместо запроса POST, который в противном случае был бы используемый. Данные будут добавлены к URL с разделителем ?. [...]

--data-urlencode <data>

(HTTP) Публикует данные, аналогично другим опциям -d, --data, за исключением того, что выполняется кодирование URL. [...]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...