diff options
author | Bjørn Christian Seime <bjorncs@vespa.ai> | 2024-02-26 16:53:46 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@vespa.ai> | 2024-02-26 16:53:46 +0100 |
commit | 13a291616728ab53c7f989d2848b2c8659e87ae9 (patch) | |
tree | 0851d5bd56b3e68a267dd2d2535cde168a1f0a4d /container-core | |
parent | 1720954b69970e93aa442b26f1cc08ce4d643b8e (diff) |
Add default mapper for `Json`
Diffstat (limited to 'container-core')
-rw-r--r-- | container-core/src/main/java/com/yahoo/restapi/RestApiMappers.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApiMappers.java b/container-core/src/main/java/com/yahoo/restapi/RestApiMappers.java index 3204c6c348a..4ec170b5749 100644 --- a/container-core/src/main/java/com/yahoo/restapi/RestApiMappers.java +++ b/container-core/src/main/java/com/yahoo/restapi/RestApiMappers.java @@ -13,6 +13,7 @@ import com.yahoo.yolean.Exceptions; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.util.List; import java.util.Optional; import java.util.logging.Level; @@ -42,6 +43,10 @@ public class RestApiMappers { new ResponseMapperHolder<>(HttpResponse.class, (context, entity) -> entity), new ResponseMapperHolder<>(String.class, (context, entity) -> new MessageResponse(entity)), new ResponseMapperHolder<>(Slime.class, (context, entity) -> new SlimeJsonResponse(entity)), + new ResponseMapperHolder<>(Json.class, (ctx, entity) -> new HttpResponse(200) { + @Override public void render(OutputStream out) throws IOException { out.write(entity.toJson(true).getBytes(UTF_8)); } + @Override public String getContentType() { return "application/json"; } + }), new ResponseMapperHolder<>(JsonNode.class, (context, entity) -> new JacksonJsonResponse<>(200, entity, context.jacksonJsonMapper(), true))); |