格式 LocalDateTime 响应 json

Format LocalDateTime Response json

我想在 Javalin 上格式化我的 LocalDateTime。

我知道该库使用 Jackson 生成 JSON,我也知道如何配置它,但我在哪里可以设置 Jackson 配置?

我想用这种格式来格式化我的日期,"dd-MM-yyyy hh:mm:ss"。

谢谢

您可以像这样格式化 LocalDateTime:

LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy hh:mm:ss"))

在 Javalin 中,Jackson 可通过 JavalinJackson#configure () 配置。

在我的具体情况下,我会这样做

JavalinJackson.configure(jacksonObjectMapper().findAndRegisterModules())

然后添加相应的依赖:

compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.8"

如果您可以使用 Gson(它可以很好地处理 LocalDateTime):

Gson gson = new GsonBuilder().create();
JsonMapper gsonMapper = new JsonMapper() {
    @Override
    public String toJsonString(@NotNull Object obj) {
        return gson.toJson(obj);
    }
    @Override
    public <T> T fromJsonString(@NotNull String json, @NotNull Class<T> targetClass) {
        return gson.fromJson(json, targetClass);
    }
};
Javalin app = Javalin.create(config -> config.jsonMapper(gsonMapper)).start(7070);

以上代码片段来自官方文档:javalin.io/documentation#faq