如何使用Akka HTTP编写Java HTTP客户端,以使用编组器将POJO转换为JSON来发布JSON消息。我能找到的都是这样的例子:
HttpRequest req =
HttpRequest.POST("/user")
.withEntity(HttpEntities.create(
ContentTypes.APPLICATION_JSON,
"{\"some\": json}"
));
该代码对JSON进行硬编码,而不使用编组器。
答案 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)));
}
}