Я использую POSTMAN для тестирования API, написанного на JAVA. Я могу получить доступ к самому api (я вижу его при отладке), но отправляемый мной объект JSON получен как пустой. В конце выполнения происходит пустой отпечаток.
В конфигурациях заголовков у меня есть следующее:
, а в разделе body я ввел следующее json:
Мой 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"} '