在对JAX-RS控制器的PUT请求中将LocalDateTime设置为Null

问题描述

我正在尝试在方法的请求参数中传递LocalDateTime,但它始终记录为null。请帮助我找出我在这里做错了什么:

@Path("/book/workOrderId/{workOrderId}")
@PUT
    public Response bookWorkOrder(@Context HttpHeaders headers,@PathParam("countryCode") String countryCode,@PathParam("workOrderId") int workOrderId,@QueryParam("reasonId") int reasonId,@RequestParam(value = "dateTime") @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")  LocalDateTime dateTime

    ) throws CDException {
    
        logger.debug("dateTime outside if::" + dateTime);
        return Response.ok(true).build();
}

输出

22:32:27.659 [http-nio-8300-exec-2] DEBUG c.c.t.i.e.v.impl.WorkorderController - dateTime outside if::null

解决方法

这对我有用:

@PUT
    public Response bookWorkOrder(@Context HttpHeaders headers,@PathParam("countryCode") String countryCode,@PathParam("workOrderId") int workOrderId,@QueryParam("bookingTime") String bookingTime,@QueryParam("reasonId") int reasonId) throws CDException {
        LocalDateTime localDateTime = LocalDateTime.parse(bookingTime,DateTimeFormatter.ISO_DATE_TIME);
        logger.debug("bookingTime:: {}",bookingTime);
return Response.ok(true).build();

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...