java - Akka HTTP,编码 POJO

标签 java akka akka-http

我正在使用 Akka HTTP 和 Jackson 编码器,但我无法弄清楚如何将 POJO 编码到 HttpEntity。我的用例实际上非常简单,我想将 POJO 序列化为 JSON 并将其用作对第 3 方 API 的 HTTP 请求的负载。

这是我希望能够做到的:

HttpRequest.POST("/foo").withEntity(Jackson.marshaller(), Foo.class)

可惜好像没有这样的方法。

最佳答案

我不是 100% 确定这是最好的方法,但你可以通过以下方式在 java 下实现它:

String json = ObjectMapperProvider.getObjectMapper().writeValueAsString(payload);
Http.get(system).singleRequest(HttpRequest.POST("url").withEntity(ContentTypes.APPLICATION_JSON, json);

不过,您确实需要一个外部 ObjectMapper,因为 Jackson.xxx 内部的 ObjectMapper 是私有(private)的。

关于java - Akka HTTP,编码 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43973923/

相关文章:

java - 在 JSF 2.0 中使用@ViewScoped?

java - 如何将 JPanel 分成左右两部分?

java - 类型安全配置 - 从程序设置占位符值

scala - 使用 akka-http 从 src/main/resources 返回一个文件

java - 后缀和前缀运算符的行为 (Java)

java - 如何通过双击从子小部件创建 JOptionPane "OK"本身

java - Akka FSM : How to write test case to verify state change?

erlang - Erlang/Akka 等如何在后台发送消息?为什么不会导致僵局?

java - 发送多个 singleRequest 时出现 Akka BufferOverflowException

scala - 如何在 Akka-HTTP 中使用 OR 两个指令?