Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-parent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
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
framework
schbrain-parent
Commits
44089542
Commit
44089542
authored
Aug 09, 2023
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Serialize Long using string if exceeds the front-end maximum
parent
ec0597f1
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
56 additions
and
1 deletion
+56
-1
commons/web-common/src/main/java/com/schbrain/common/web/ObjectMapperConfiguration.java
...va/com/schbrain/common/web/ObjectMapperConfiguration.java
+21
-0
commons/web-common/src/main/java/com/schbrain/common/web/WebCommonAutoConfiguration.java
...a/com/schbrain/common/web/WebCommonAutoConfiguration.java
+2
-1
commons/web-common/src/main/java/com/schbrain/common/web/support/LongToStringSerializer.java
...m/schbrain/common/web/support/LongToStringSerializer.java
+33
-0
No files found.
commons/web-common/src/main/java/com/schbrain/common/web/ObjectMapperConfiguration.java
0 → 100644
View file @
44089542
package
com.schbrain.common.web
;
import
com.schbrain.common.web.support.LongToStringSerializer
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.http.converter.json.Jackson2ObjectMapperBuilder
;
/**
* @author liaozan
* @since 2023/8/9
*/
@ConditionalOnClass
(
Jackson2ObjectMapperBuilder
.
class
)
public
class
ObjectMapperConfiguration
{
@Bean
public
Jackson2ObjectMapperBuilderCustomizer
jacksonCustomizer
()
{
return
builder
->
builder
.
serializerByType
(
Long
.
class
,
LongToStringSerializer
.
instance
);
}
}
commons/web-common/src/main/java/com/schbrain/common/web/WebCommonAutoConfiguration.java
View file @
44089542
...
...
@@ -29,7 +29,8 @@ import java.util.List;
AuthenticationConfiguration
.
class
,
ExceptionHandingConfiguration
.
class
,
ServletComponentConfiguration
.
class
,
CorsFilterConfiguration
.
class
CorsFilterConfiguration
.
class
,
ObjectMapperConfiguration
.
class
})
public
class
WebCommonAutoConfiguration
{
...
...
commons/web-common/src/main/java/com/schbrain/common/web/support/LongToStringSerializer.java
0 → 100644
View file @
44089542
package
com.schbrain.common.web.support
;
import
com.fasterxml.jackson.core.JsonGenerator
;
import
com.fasterxml.jackson.databind.SerializerProvider
;
import
com.fasterxml.jackson.databind.ser.std.StdSerializer
;
import
java.io.IOException
;
/**
* @author liaozan
* @since 2023/8/9
*/
public
class
LongToStringSerializer
extends
StdSerializer
<
Long
>
{
public
static
final
LongToStringSerializer
instance
=
new
LongToStringSerializer
();
private
static
final
double
FRONT_MAX_VALUE
=
Math
.
pow
(
2
,
53
);
private
static
final
long
serialVersionUID
=
-
1872783127429540811L
;
protected
LongToStringSerializer
()
{
super
(
Long
.
class
);
}
@Override
public
void
serialize
(
Long
value
,
JsonGenerator
gen
,
SerializerProvider
provider
)
throws
IOException
{
if
(
value
.
doubleValue
()
>
FRONT_MAX_VALUE
)
{
gen
.
writeString
(
value
.
toString
());
}
else
{
gen
.
writeNumber
(
value
);
}
}
}
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