当前位置: 首页 > 知识库问答 >
问题:

LocalDate不能在spring@RestController中映射

贾飞鸿
2023-03-14

以下示例适用于POST请求,但不适用于GET。我的目标是让spring自动从Stringinput(请求正文和查询参数)解析LocalDate

    @PostMapping("/datetime")
    public Mono<String> datetimePost(@RequestBody DateTimeDto dto) {
        return Mono.just("OK");
    }
    
    static class DateTimeDto {
        private LocalDate date;
        //getter, setter
    }

作品: POSTlocalhost:8080/datetime

{
    "date": "2022-02-02"
}

但GET也不适用:

获取localhost:8080/datetime?日期=2022-02-02

@GetMapping("/datetime")
public Mono<String> datetimeGet(DateTimeDto dto) {
    return Mono.just("OK);
}

结果:

{
    "timestamp": "2022-03-03T08:57:56.248+00:00",
    "status": 400,
    "message": "'date': : Parse attempt failed for value [2022-02-02]. rejectedValue: 2022-02-02"
}

org.springframework.web.bind.support.WebExchangeBindException:方法:publicreactor.core.publisher.Mono中索引0处的参数验证失败

共有1个答案

岳嘉良
2023-03-14

因此,由于GET POST的工作方式不同,以下内容至少解决了这个问题:

应用属性

spring.webflux.format.date=ISO
spring.webflux.format.time=ISO
spring.webflux.format.date-time=ISO
 类似资料:
  • 我已经安装了auth服务器和资源服务器,如以下文章http://www.hascode.com/2016/03/setting-up-an-oauth2-authorization-server-and-resource-provider-with-spring-boot/所述 我下载了代码,它运行良好。现在的问题是,在资源提供者项目中只有一个RestController注释类,如下所示 成功(I

  • 有人能帮我一下吗? 我需要将Java8LocalDate转换为JSON,反之亦然,在我的REST应用程序中,我将调用REST API的MVC应用程序。由于默认JacksonJAXbJSONProvider不解析LOcalDate,所以我编写了如下所示的自定义映射器,并在pom.xml中添加了依赖项 } 这是在Java 8 LocalDate Jackson格式中提出的 我需要将它传递给spring

  • 我正试图写一个CORSRest服务。我指的是一个REST服务,我可以从托管在web服务器上的网站调用该服务,该web服务器的端口与REST服务器不同。

  • 我写了简单的java Spring boot应用程序代码在应用程序中,我有3个类文件 > 学生类-POCO类包含以下代码 导入java。时间本地日期; 公开课学生{ } StudentController类--控制器包含以下代码 包学生; 导入java.time.LocalDate;导入java.util.列表; 导入org.springframework.web.bind.annotation.

  • 因此,当我将对象转换为JSON字符串时: dob以以下方式写入JSON字符串: “dob”:{“年份”:1964,“月份”:“二月”,“纪年”:{“日历类型”:“ISO8601”,“ID”:“ISO”},“月份值”:2,“DayofMonth”:13,“DayofWeek”:“星期四”,“Era”:“CE”,“DayofYear”:44,“LeapYear”:true 所以,我不知道我是如何做到这