如何在get请求中接受spring boot控制器中的localdatetim param



这个问题与这个问题非常相似,该问题对于较旧的 Date api。

我想与Java 8 LocalDateTime API实现相同的目标。当我这样做时,

@RequestMapping("/locationSnapshot/{userId}/{pointInTime}")
public MyResponse getLocationInTime(
        @PathParam(value="userId") Long userId,
        @PathParam(value="pointInTime")
        @DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss") LocalDateTime pointInTime) {
    MyResponse response = new MyResponse();
    return response;
}

我得到了,

Failed to instantiate [java.time.LocalDateTime]: No default constructor
found; nested exception is java.lang.NoSuchMethodException: 
java.time.LocalDateTime.<init>()

使用@pathvariable代替@pathparam

@RequestMapping("/locationSnapshot/{userId}/{pointInTime}")
public MyResponse getLocationInTime(
        @PathVariable(value="userId") Long userId,
        @PathVariable(value="pointInTime")
        @DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss") LocalDateTime pointInTime) {
    MyResponse response = new MyResponse();
    return response;
}

尝试在pointInTime参数之前添加@RequestParam

最新更新