Запрос POST почтальона отправляет пустой поток, несмотря на то, что тело включено - PullRequest
0 голосов
/ 18 июня 2020

Я использую POSTMAN для тестирования API, написанного на JAVA. Я могу получить доступ к самому api (я вижу его при отладке), но отправляемый мной объект JSON получен как пустой. В конце выполнения происходит пустой отпечаток.

В конфигурациях заголовков у меня есть следующее: enter image description here

, а в разделе body я ввел следующее json: enter image description here

Мой Java код:

@POST
@Path("admin/save'")
public Response printInputText(@Context SecurityContext sc,InputStream incomingData) {

        String requestText = getStringFromInputStream(incomingData);
        System.out.println(requestText);
        if(requestText.equals("")){
            return Response.status(Status.INTERNAL_SERVER_ERROR).build();   
        }
        return Response.status(Status.OK).build();

}

public static String getStringFromInputStream(InputStream is) {

    BufferedReader br = null;
    StringBuilder sb = new StringBuilder();
    String line;
    try {
        br = new BufferedReader(new InputStreamReader(is));
        while ((line = br.readLine()) != null) {
            sb.append(line + System.lineSeparator());
        }

    } catch (IOException e) {
        e.getMessage();
        e.printStackTrace();
    } finally {
        if (br != null) {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return sb.toString();
}

curl (немного изменил URL-адрес, но я получаю URL-адрес, поэтому проблема не в этом):

curl --location --request POST 'http://uri.com/ui/rest/admin/save' \

- header 'Авторизация: Basi c QzUzMDY3Nzc6QWxlWEZlckczMg ==' \

- header 'Content-Type: application / json' \

- data-raw '{"ключ": "значение", "nextKey": "nextVal", "lastKey": "lastVal"} '

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