Skip to content

Commit 1328dc5

Browse files
authored
Merge pull request #558 from TaskFlow-CLAP/CLAP-429
CLAP-429 LocalDateTime 직렬화 모듈 추가
2 parents fbb515a + e64365b commit 1328dc5

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ dependencies {
109109

110110
// Jsoup
111111
implementation 'org.jsoup:jsoup:1.17.1'
112+
113+
// Jackson 추가
114+
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
112115
}
113116

114117
tasks.named('test') {

src/main/java/clap/server/config/jackson/JacksonConfig.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import com.fasterxml.jackson.databind.DeserializationContext;
55
import com.fasterxml.jackson.databind.JsonDeserializer;
66
import com.fasterxml.jackson.databind.ObjectMapper;
7+
import com.fasterxml.jackson.databind.SerializationFeature;
78
import com.fasterxml.jackson.databind.module.SimpleModule;
9+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
810
import lombok.extern.slf4j.Slf4j;
911
import org.jsoup.Jsoup;
1012
import org.jsoup.safety.Safelist;
@@ -13,20 +15,27 @@
1315

1416
import java.io.IOException;
1517

16-
// XSS 방지를 위한 Jackson 설정
18+
1719
@Slf4j
1820
@Configuration
1921
public class JacksonConfig {
2022

2123
@Bean
2224
public ObjectMapper objectMapper() {
2325
ObjectMapper mapper = new ObjectMapper();
24-
SimpleModule module = new SimpleModule();
25-
module.addDeserializer(String.class, new JsonHtmlXssDeserializer());
26-
mapper.registerModule(module);
26+
27+
mapper.registerModule(new JavaTimeModule());
28+
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
29+
30+
// XSS 방지를 위한 커스텀 모듈 추가
31+
SimpleModule xssModule = new SimpleModule();
32+
xssModule.addDeserializer(String.class, new JsonHtmlXssDeserializer());
33+
mapper.registerModule(xssModule);
34+
2735
return mapper;
2836
}
2937

38+
// XSS 방지를 위한 Jackson 설정
3039
public static class JsonHtmlXssDeserializer extends JsonDeserializer<String> {
3140
@Override
3241
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {

0 commit comments

Comments
 (0)