#java #rest #web-services #jersey #jax-rs
#java #остальное #веб-сервисы #джерси #jax-rs
Вопрос:
При вызове API в jax-rs Джерси я должен передать параметр. Но это преобразуется в какой-то специальный символ. Я объявил переменную mCopy
, которая будет принимать значение false или true в зависимости от некоторых условий. Мой URI равен
URI:- https://idcs-oda-xxxxxxx.com/api/v1/bots/pushRequests?copy=true
Мой код
Response rawres = client.target("https://idcs-oda-xxxxxxx.com")
.path("bots")
.path("pushRequests?copy=" mcopy")
.request().header("Authorization",access_token)
.post(null, Response.class);
выдает ошибку
https://idcs-oda-xxxxxxx.com/api/v1/bots/pushRequests?copy=false, status=404, reason=Not Found
на самом деле pushRequests?copy=mCopy
преобразуется в pushRequests?copy=false
как я могу сохранить? символ как есть?
Комментарии:
1.
copy=true
похоже, что это часть запроса или URL, а не часть пути.2. @Gereon я. Гереон, теперь я понял.
Ответ №1:
Вы неправильно используете API. Вы хотите сделать:
Response rawres = client.target("https://idcs-oda-xxxxxxx.com")
.path("bots")
.path("pushRequests")
.queryParam("copy", mcopy) // this is the change
.request().header("Authorization",access_token)
.post(null, Response.class);