房产网站代运营网站后台打不开了怎么办
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:17
当前位置: 首页 > news >正文
房产网站代运营,网站后台打不开了怎么办,seo网站编辑是做什么的,wordpress文章参数介绍
在SpringBoot项目中#xff0c;接口中的日期和时间类型的参数#xff0c;配置格式。
日期格式
接口中常用的日期时间格式有两种#xff1a;
字符串#xff08;比如#xff1a;yyyy-MM-dd HH:mm:ss#xff09;时间戳#xff08;比如#xff1a;1696839876955接口中的日期和时间类型的参数配置格式。
日期格式
接口中常用的日期时间格式有两种
字符串比如yyyy-MM-dd HH:mm:ss时间戳比如1696839876955
这两种方式各有优势。
字符串格式表示时间直观清晰便于识别出时间。但是字符串格式存在时区问题需要在字段中描述出时区SpringMVC的默认时间格式中带有时区或者前后端规定好默认时区比如东八区GMT8。时间戳用数字表示时间准确定位时间不存在时区问题。缺点是不够直观无法直接识别出时间戳对应的具体时间需要转换不便于从接口直接判断时间是否正确测试比较费时费力。
格式配置
日期参数的格式可以配置。分为全局配置和局部配置。
全局配置作用于项目全局的时间参数。局部配置只作用于配置的字段覆盖全局配置其余字段不受影响。
全局配置
Query时间入参使用字符串
配置
spring:mvc:format:# Query参数时间格式转换 java.util.Datedate: yyyy-MM-dd HH:mm:ssQuery参数实体示例
Query参数使用 java.util.Date 类型接收。
package com.example.web.exception.query;import com.example.core.validation.phone.query.PhoneQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springdoc.api.annotations.ParameterObject;import java.util.Date;Data
ParameterObject
Schema(name 用户Query)
public class UserQuery {// 其他字段Schema(description 开始时间, example 2023-01-01 08:30:00)private Date beginTime;Schema(description 结束时间, example 2023-12-31 17:00:00)private Date endTime;}
接口调用成功
日期格式正确接口调用成功。 打印日志 查询用户列表。userQueryUserQuery(namenull, phonenull, beginTimeSun Jan 01 08:30:00 GMT08:00 2023, endTimeSun Dec 31 17:00:00 GMT08:00 2023, beginDatenull, endDatenull)pageQueryPageQuery(pageNumber1, pageSize10) 接口调用失败
接口输入必须符合格式否则会调用失败报出异常。
Body时间入参和响应时间出参
默认响应中的时间参数会转换成字符串默认时间格式举例 2023-10-10T01:31:03.27900:00 配置
目标格式为yyyy-MM-dd HH:mm:ss东八区。
spring:jackson:# Body参数和响应时间格式转换 java.util.Datedate-format: yyyy-MM-dd HH:mm:sstime-zone: GMT8Body时间入参UserEditParam
package com.example.web.response.model.param;import com.example.core.validation.phone.strict.Phone;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.Date;Data
Schema(name 编辑用户Param)
public class UserEditParam {// 其他字段JsonFormat(pattern yyyy-MM-dd)Schema(description 开始日期, example 2023-01-01)private Date beginDate;JsonFormat(pattern yyyy-MM-dd)Schema(description 结束日期, example 2023-12-31)private Date endDate;}效果
接口调用 控制台打印参数 新增用户Post请求。paramUserAddParam(name张三, phone18612345678, emailzhangsanexample.com, beginTimeSun Jan 01 08:30:00 CST 2023, endTimeSun Dec 31 17:00:00 CST 2023) 响应时间出参UserVO
package com.example.web.model.vo;import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;import java.util.Date;Data
Schema(name 用户VO)
public class UserVO {// 其他字段Schema(description 开始时间, example 2023-01-01 01:20:30)private Date beginTime;Schema(description 结束时间, example 2023-01-01 01:20:30)private Date endTime;}
效果 响应时间出参时间戳
配置
spring:jackson:serialization:# 时间字段java.util.Date返回时间戳。注意此配置会覆盖掉 spring.jackson.date-format 。write-dates-as-timestamps: true效果
响应时间出参为时间戳格式。 局部配置
Query时间入参局部格式
Query时间入参如果某个字段需要的时间格式和全局不相同可以配置这个字段的自定义的入参格式。
使用注解DateTimeFormat
配置示例
package com.example.web.exception.query;import com.example.core.validation.phone.query.PhoneQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;Data
ParameterObject
Schema(name 用户Query)
public class UserQuery {// 其他字段DateTimeFormat(pattern yyyy-MM-dd)Schema(description 开始日期, example 2023-01-01)private Date beginDate;DateTimeFormat(pattern yyyy-MM-dd)Schema(description 结束日期, example 2023-12-31)private Date endDate;}
效果 Body时间入参局部格式
使用注解JsonFormat
配置示例
package com.example.web.response.model.param;import com.example.core.validation.phone.strict.Phone;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.Date;Data
Schema(name 编辑用户Param)
public class UserEditParam {// 其他字段JsonFormat(pattern yyyy-MM-dd)Schema(description 开始日期, example 2023-01-01)private Date beginDate;JsonFormat(pattern yyyy-MM-dd)Schema(description 结束日期, example 2023-12-31)private Date endDate;}
效果 编辑用户PUT请求。id1234567890123456789paramUserEditParam(name张三, phone18612345678, emailzhangsanexample.com, beginDateSun Jan 01 00:00:00 CST 2023, endDateSun Dec 31 00:00:00 CST 2023) 问题
注意如下图传递参数接口也能调用成功。 接口收到的参数只包含年月日。 编辑用户PUT请求。id1234567890123456789paramUserEditParam(name张三, phone18612345678, emailzhangsanexample.com, beginDateSun Jan 01 00:00:00 CST 2023, endDateSun Dec 31 00:00:00 CST 2023) 响应时间出参局部格式
使用注解JsonFormat
配置示例
package com.example.web.model.vo;import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;import java.util.Date;Data
Schema(name 用户VO)
public class UserVO {// 其他字段JsonFormat(pattern yyyy-MM-dd)Schema(description 开始日期, example 2023-01-01)private Date beginDate;JsonFormat(pattern yyyy-MM-dd)Schema(description 结束日期, example 2023-12-31)private Date endDate;}
效果






