Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
one-certificate-system
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
one-certificate-system
Commits
9a50bbd9
Commit
9a50bbd9
authored
Jul 27, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加数据权限
parent
35c01867
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
77 additions
and
0 deletions
+77
-0
one-certificate-manager/src/main/java/com/mortals/xhx/base/framework/DateJacksonConverter.java
.../com/mortals/xhx/base/framework/DateJacksonConverter.java
+46
-0
one-certificate-manager/src/main/java/com/mortals/xhx/base/framework/config/ConverterConfig.java
...om/mortals/xhx/base/framework/config/ConverterConfig.java
+31
-0
No files found.
one-certificate-manager/src/main/java/com/mortals/xhx/base/framework/DateJacksonConverter.java
0 → 100644
View file @
9a50bbd9
package
com.mortals.xhx.base.framework
;
import
com.fasterxml.jackson.core.JsonParser
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.DeserializationContext
;
import
com.fasterxml.jackson.databind.JsonDeserializer
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.time.DateUtils
;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.util.Date
;
/**
* 自定义Jackson反序列化日期类型时应用的类型转换器,一般用于@RequestBody接受参数时使用
*/
public
class
DateJacksonConverter
extends
JsonDeserializer
{
private
static
String
[]
pattern
=
new
String
[]{
"yyyy-MM-dd"
,
"yyyy-MM-dd HH:mm"
,
"yyyy-MM-dd HH:mm:ss"
,
"yyyy-MM-dd HH:mm:ss.S"
,
"yyyy.MM.dd"
,
"yyyy.MM.dd HH:mm"
,
"yyyy.MM.dd HH:mm:ss"
,
"yyyy.MM.dd HH:mm:ss.S"
,
"yyyy/MM/dd"
,
"yyyy/MM/dd HH:mm"
,
"yyyy/MM/dd HH:mm:ss"
,
"yyyy/MM/dd HH:mm:ss.S"
};
@Override
public
Date
deserialize
(
JsonParser
p
,
DeserializationContext
ctxt
)
throws
IOException
,
JsonProcessingException
{
Date
targetDate
=
null
;
String
originDate
=
p
.
getText
();
if
(
StringUtils
.
isNotEmpty
(
originDate
))
{
try
{
long
longDate
=
Long
.
valueOf
(
originDate
.
trim
());
targetDate
=
new
Date
(
longDate
);
}
catch
(
NumberFormatException
e
)
{
try
{
targetDate
=
DateUtils
.
parseDate
(
originDate
,
DateJacksonConverter
.
pattern
);
}
catch
(
ParseException
pe
)
{
throw
new
IOException
(
String
.
format
(
"'%s' can not convert to type 'java.util.Date',just support timestamp(type of long) and following date format(%s)"
,
originDate
,
StringUtils
.
join
(
pattern
,
","
)));
}
}
}
return
targetDate
;
}
@Override
public
Class
handledType
()
{
return
Date
.
class
;
}
}
one-certificate-manager/src/main/java/com/mortals/xhx/base/framework/config/ConverterConfig.java
0 → 100644
View file @
9a50bbd9
package
com.mortals.xhx.base.framework.config
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.mortals.xhx.base.framework.DateJacksonConverter
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean
;
import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
;
@Configuration
public
class
ConverterConfig
{
@Bean
public
DateJacksonConverter
dateJacksonConverter
()
{
return
new
DateJacksonConverter
();
}
@Bean
public
Jackson2ObjectMapperFactoryBean
jackson2ObjectMapperFactoryBean
(
DateJacksonConverter
dateJacksonConverter
)
{
Jackson2ObjectMapperFactoryBean
jackson2ObjectMapperFactoryBean
=
new
Jackson2ObjectMapperFactoryBean
();
jackson2ObjectMapperFactoryBean
.
setDeserializers
(
dateJacksonConverter
);
return
jackson2ObjectMapperFactoryBean
;
}
@Bean
public
MappingJackson2HttpMessageConverter
mappingJackson2HttpMessageConverter
(
ObjectMapper
objectMapper
)
{
MappingJackson2HttpMessageConverter
mappingJackson2HttpMessageConverter
=
new
MappingJackson2HttpMessageConverter
();
mappingJackson2HttpMessageConverter
.
setObjectMapper
(
objectMapper
);
return
mappingJackson2HttpMessageConverter
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment