Akka HTTP Java客户端示例以POST JSON msg

时间:2018-09-21 15:08:38

标签: java json http-post akka-http

如何使用Akka HTTP编写Java HTTP客户端,以使用编组器将POJO转换为JSON来发布JSON消息。我能找到的都是这样的例子:

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

该代码对JSON进行硬编码,而不使用编组器。

1 个答案:

答案 0 :(得分:0)

您可以简单地使用任何json marshaller代替硬编码的字符串,它应该可以工作。下面我以杰克逊·马歇尔为例。

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)));        
    }
}