akka/akka-http
Jackson Marshallers / Unmarshallers should be configurable / use akka.serialization.jackson.JacksonObjectMapperProvider
開放
#3,379 建立於 2020年7月20日
1 - triagedhelp wantedt:marshalling
倉庫指標
- 星標
- (1,311 顆星)
- PR 合併指標
- (平均合併 1天 10小時) (30 天內合併 2 個 PR)
描述
Currently the Jackson ObjectMapper in the
akka.http.javadsl.marshallers.jackson.Jackson class creates a default object mapper which is not configurable.
The only way to override its behaviour is by supplying a custom ObjectMapper everytime the marshaller/unmarshaller is
used.
Akka already provides a way to customise Jackson configuration + retrieving a ObjectMapper
through akka.serialization.jackson.JacksonObjectMapperProvider and the
akka.serialization.jackson {
jackson-modules += "com.acme.MyJacksonModule"
}
configuration. The marshallers/unmarshallers should honour this configuration way. Ideally, we'd have a built-in
public static Route extractObjectMapper(Function<ObjectMapper, Route> inner) {
return extractActorSystem(sys -> {
ObjectMapper objectMapper = JacksonObjectMapperProvider
.get(sys)
.getOrCreate("akka-http",
Optional.empty());
return provide(objectMapper, inner);
});
}
or similar.