Клиент Джерси всегда выбрасывает 400 плохих запросов - PullRequest
0 голосов
/ 14 января 2019

У меня есть отдых после звонка. всякий раз, когда я пытаюсь ударить с помощью почтальона, он работает нормально. но если я попробую тот же пост позвонить с помощью JerseyAPI Client. Я получаю 400 Плохой запрос

String URI = "rest uri";

    Client client = Client.create();

    WebResource webResource = client.resource(URI);
    try {

        String input1 = "{\"callType\": \"UPDATE\",\"emails\": [\"qa_tester2222@gmail.com\",\"qa_tester2222@gmail.com\"],\"event\": \"UPDATE_EVENT\",\"externalIds\": [ \"id\" ], \"fraudAction\": \"CONFIRMED_FRAUD\",\"fraudCategory\": \"Account Takeover\",\"memo\": \"test fraud case management for AD\",\"origin\": \"SE4\",\"phones\": [],\"requester\": \"corsairUser\",\"source\": \"LIVE\" }";

        ClientResponse response = webResource.type("application/json")
                .header("Authorization", "Basic secretKey")
                .post(ClientResponse.class, input1);

        if (response.getStatus() != 201) {
            throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
        }

        System.out.println("Output from Server .... \n");
        String output = response.getEntity(String.class);
        System.out.println(output);

    } catch (

    Exception e) {

        e.printStackTrace();

    }

}

Если я выполню тот же запрос в Postman, используя приведенный выше ввод, я смогу ударить api и получить 200, но получу 400 в JerseyAPI

1 Ответ

0 голосов
/ 14 января 2019

Поскольку вы получаете ответ на Bad Request, я думаю, что вы должны создать свою строку JSON, используя подходящий инструмент JSON. Вы можете начать с создания объекта JSON из вашей строки, а затем использовать объект JSON для получения ввода.

Создание объекта JSON:

JSONObject jsonObject = new JSONObject(string);

Использование объекта JSON в качестве ввода:

ClientResponse response = webResource.type("application/json")
                .header("Authorization", "Basic secretKey")
                .post(ClientResponse.class, jsonObject.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...