Как принимать LocalDateTime параметр в GET запросе к весне загрузки контроллера?



Этот вопрос очень похож на эту проблему SO, которая является для более старого 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>()
514   2  

2 ответов:

Используйте @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;
}

Попробуйте добавить @RequestParam перед вашим параметром pointInTime.

Comments

    Ничего не найдено.