Пример HTTP-клиента Akka для POST JSON MSG - PullRequest
0 голосов
/ 21 сентября 2018

Как мне написать Java HTTP-клиент, используя Akka HTTP, для POST-сообщения JSON, используя маршаллер для преобразования POJO в JSON.Все, что я могу найти, это примеры, подобные этому:

HttpRequest req =
    HttpRequest.POST("/user")
        .withEntity(HttpEntities.create(
            ContentTypes.APPLICATION_JSON,
            "{\"some\": json}"
        ));

, который жестко кодирует JSON вместо использования маршаллера.

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете просто использовать любой маршаллер json вместо жестко закодированной строки, и это должно работать.Ниже я приведу пример с Джексоном Маршаллером.

class RequestProducer {
    private ObjectMapper objectMapper;

    public RequestProducer(ObjectMapper objectMapper) {
       this.objectMapper = objectMapper;
    }

    HttpRequest post(SomePojo somePojo) {
        return HttpRequest.POST("/user")
            .withEntity(HttpEntities.create(
              ContentTypes.APPLICATION_JSON,
              objMapper.writeValueAsString(somePojo)));        
    }
}
...