首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LocalDate不能在spring @RestController中映射

问LocalDate不能在spring @RestController中映射
EN

Stack Overflow用户
提问于 2022-03-03 09:02:29
回答 1查看 1.5K关注 0票数 1

下面的示例适用于POST请求,但不适用于GET。我的目标是让spring从LocalDate输入(请求体和查询参数)自动解析String:

代码语言:javascript
复制
    @PostMapping("/datetime")
    public Mono<String> datetimePost(@RequestBody DateTimeDto dto) {
        return Mono.just("OK");
    }
    
    static class DateTimeDto {
        private LocalDate date;
        //getter, setter
    }

作品: POST localhost:8080/datetime

代码语言:javascript
复制
{
    "date": "2022-02-02"
}

但与GET不一样的是:

获取本地主机:8080/datetime?日期=2022-02-02

代码语言:javascript
复制
@GetMapping("/datetime")
public Mono<String> datetimeGet(DateTimeDto dto) {
    return Mono.just("OK);
}

结果:

代码语言:javascript
复制
{
    "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"
}

方法中索引0处的参数验证失败:带有1错误的公共org.springframework.web.bind.support.WebExchangeBindException: org.example.spring.webflux.ExampleServlet.datetimeGet(org.example.spring.webflux.ExampleServlet$DateTimeDto),:[字段‘date’上的对象'dateTimeDto‘中的字段错误:拒绝值2022-02-02;代码typeMismatch.dateTimeDto.date、typeMismatch.date、typeMismatch.java.time.LocalDate、typeMismatch;参数[org.springframework.context.support.DefaultMessageSourceResolvable:代码dateTimeDto.date,日期;参数[];默认消息日期];默认消息[未能将' java.lang.String‘类型的属性值转换为属性’date‘所需的类型' java.time.LocalDate’;嵌套异常是java.lang.String未能将值‘2022-02-02’从java.lang.String类型转换为java.time.LocalDate类型;嵌套异常是org.springframework.web.reactive.result.method.annotation.ModelAttributeMethodArgumentResolver.lambda$null$3(ModelAttributeMethodArgumentResolver.java:139) ~spring-webflux-5.3.16.jar:5.3.16上的java.lang.IllegalArgumentException:对值2022-02-02]的解析尝试失败]

EN

回答 1

Stack Overflow用户

发布于 2022-03-03 10:04:23

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

application.properties

代码语言:javascript
复制
spring.webflux.format.date=ISO
spring.webflux.format.time=ISO
spring.webflux.format.date-time=ISO
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71334501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档