Я пытался использовать:Spring MVC контроллер с датой
@RequestMapping(value="/consultaporusuarioperiodo/{idusuario}/{datainicio}/{datafim}", method = RequestMethod.GET)
public String consultaPorPeriodoUsuario(
@PathVariable("idusuario") Long idUsuario,
@PathVariable("datainicio") Date dataInicio,
@PathVariable("datafim") Date dataFim
,Model model) {
Usuario usuario = usuarioService.buscaPorId(idUsuario);
model.addAttribute("timesheet",timeSheetService.buscaPorPeriodoPorUsuario(dataInicio, dataFim,usuario));
return "timesheetcrud/consultatimesheet";
}
по этой ссылке:
http://localhost:8080/timesheet/consultaporusuarioperiodo/1/21012000/22012000
, но я получаю эту ошибку:
HTTP Status 400 -
type Status report
message
description The request sent by the client was syntactically incorrect().
Apache Tomcat/7.0.27
когда я изменяю до:
@PathVariable("datainicio") String dataInicio,
@PathVariable("datafim") String dataFim
Это работа. Что я могу сделать для работы с Date?
благодаря
Попробуйте аннотирование ваших параметров даты с '@DateTimeFormat (шаблон = "DDMMYYYY")' –
Я уже пробовал с @DateTimeFormat, но когда я ставлю @PathVariable ("datainicio") @DateTimeFormat (шаблон = "DDMMYYYY") Дату dataInicio, это тоже не работает :-(Работает только со строкой. – user812612
Совет. Попробуйте использовать лучшие практики и передайте эти два значения даты в разделе «Запрос тела» или «Параметры запроса». http://apigee.com/about/api-best-practices =) –