#jersey
#джерси
Вопрос:
Я пытаюсь сделать запрос к третьему файлу, который эквивалентен следующему:
curl -G -X GET -u {API KEY}:X https://some.com/api/head/remotelogin.json -d 'id=1234amp;msg=hello'
id
Также используется третьей стороной для проверки запроса.
Ниже приведен интерфейс, который я написал:
public interface ThirdParty Client {
@POST
@Path("api/head/remotelogin.json")
@Produces(MediaType.APPLICATION_JSON)
@Consumer(MediaType.APPLICATION_FORM_URLENCODED)
Response authenticate(@HeaderParam(HttpHeaders.AUTHORIZATION) String authHeader, String payload)
}
Я не уверен, как создать полезную нагрузку, и правильно ли я использую @Consumer(MediaType.APPLICATION_FORM_URLENCODED)
?
Я выполняю свой post-запрос на Java следующим образом
final Response response = ThirdPartyClient.authenticate(base64encoded("{API KEY}:X"), "id=1234amp;msg=hello");
Я получаю, 200
но id
неверно.
Я довольно новичок в Джерси, и я провел весь день, читая документы и пробуя разные вещи.
Комментарии:
1. Что вы подразумеваете под «неправильным идентификатором»? Где? Каково значение
payload
параметра вauthenticate
?
Ответ №1:
Немного поспав, я получаю ответ…
@GET
@Path("api/head/remotelogin.json")
@Produces(MediaType.APPLICATION_JSON)
Response authenticate(@HeaderParam(HttpHeaders.AUTHORIZATION) String authHeader, @QueryParam("id") String id, @QueryParam("msg") String msg);
final Response response = ThirdPartyClient.authenticate("Basic " base64encoded("{API KEY}:X"), "1234", "hello");
"Basic "
Здесь важно.