Java后端接收时间字符串转成LocalDateTime,LocalDateTime转成时间字符串给前端
目录
Java后端接收时间字符串转成LocalDateTime,LocalDateTime转成时间字符串给前端
1.接收前端时间字符串
1.1后端可以使用String去接收,手动在代码中进行转换成LocalDateTime操作,这里不做讨论。
1.2后端使用LocalDateTime去接收,需要配合注解:
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
1.2.1例子:
1.2.1.1前端请求的数据
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@Data
public class GetOrPostTimeConversionRequestVO{
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "姓名")
private String userName;
@ApiModelProperty(value = "生日")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime birthday;
}
1.2.1.2Controller层
@ApiOperation("前端进行GET或者POST请求同时把时间字符串传到后台, 自动转成GetTimeConversionRequestVO")
@PostMapping("/getOrPostTimeConversion") // 也可以使用GET请求
public void getOrPostTimeConversion(@RequestBody GetOrPostTimeConversionRequestVO getOrPostTimeConversionRequestVO) {
Integer id = getOrPostTimeConversionRequestVO.getId();
System.out.println(id);
String userName = getOrPostTimeConversionRequestVO.getUserName();
System.out.println(userName);
LocalDateTime birthday = getOrPostTimeConversionRequestVO.getBirthday();
System.out.println(birthday);
}
Debug截图:
2.返回时间字符串给前端
2.1可以自己手动转成String返回给前端,这里不做讨论。
2.2可以使用阿里巴巴的fastjson注解:
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
2.2.1例子:
2.2.1.1前端请求的数据
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@Data
public class GetOrPostTimeConversionRequestVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "姓名")
private String userName;
@ApiModelProperty(value = "生日")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime birthday;
}
2.2.1.2Controller层
@ApiOperation("前端进行GET或者POST请求同时把时间字符串传到后台, 自动转成GetTimeConversionRequestVO")
@PostMapping("/getOrPostTimeConversion") // 也可以使用GET请求
public TimeConversionResultResponseVO getOrPostTimeConversion(@RequestBody GetOrPostTimeConversionRequestVO getOrPostTimeConversionRequestVO) {
Integer id = getOrPostTimeConversionRequestVO.getId();
System.out.println(id);
String userName = getOrPostTimeConversionRequestVO.getUserName();
System.out.println(userName);
LocalDateTime birthday = getOrPostTimeConversionRequestVO.getBirthday();
System.out.println(birthday);
TimeConversionResultResponseVO timeConversionResultResponseVO = new TimeConversionResultResponseVO();
timeConversionResultResponseVO.setId(id);
timeConversionResultResponseVO.setUserName(userName);
timeConversionResultResponseVO.setBirthday(birthday);
return timeConversionResultResponseVO;
}
2.2.1.3响应的数据:
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;
@Data
public class TimeConversionResultResponseVO {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "姓名")
private String userName;
@ApiModelProperty(value = "生日")
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime birthday;
}