HTTP-клиент HTTP отправляет тело json правильно - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь сделать POSt-запрос на мой сервер, сервер всегда получает идентификатор 0, а не фактическое значение. Я отправляю сообщения с помощью setEntity.

Это мой код, очень простой:

private CompletionStage<OrderInfo> createOrder(int id) {
        HttpClient httpClient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost("http://localhost:8080/order/createOrder");
        CreateOrderRequest orderRequest = new CreateOrderRequest();
        orderRequest.setRemoteId(id);
        StringEntity entity = null;
        try {
            entity = new StringEntity(new ObjectMapper().writeValueAsString(orderRequest));
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
        httpPost.setEntity(entity);
        return CompletableFuture.supplyAsync(() -> {
            HttpResponse httpResponse = null;
            try {
                httpResponse = httpClient.execute(httpPost);
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
            return (OrderInfo) httpResponse.getEntity();
        });

    }

Я напечатал идентификатор перед отправкой, и он имеет нормальные значения (1,2 ...) в то время как сервер всегда получает «0»

Что я сделал не так?

...