diff --git a/src/main/java/ru/soune/nocopy/configuration/JacksonConfig.java b/src/main/java/ru/soune/nocopy/configuration/JacksonConfig.java index db00da1..74cb062 100644 --- a/src/main/java/ru/soune/nocopy/configuration/JacksonConfig.java +++ b/src/main/java/ru/soune/nocopy/configuration/JacksonConfig.java @@ -9,6 +9,7 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import java.time.LocalDate; import java.time.LocalDateTime; @@ -20,7 +21,13 @@ public class JacksonConfig { @Bean @Primary public ObjectMapper objectMapper() { - ObjectMapper mapper = new ObjectMapper(); + ObjectMapper mapper = Jackson2ObjectMapperBuilder.json() + .defaultViewInclusion(true) + .autoDetectFields(true) + .failOnUnknownProperties(false) + .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) + .featuresToEnable(SerializationFeature.INDENT_OUTPUT) + .build(); JavaTimeModule javaTimeModule = new JavaTimeModule(); diff --git a/src/main/java/ru/soune/nocopy/configuration/WebConfig.java b/src/main/java/ru/soune/nocopy/configuration/WebConfig.java new file mode 100644 index 0000000..95723f1 --- /dev/null +++ b/src/main/java/ru/soune/nocopy/configuration/WebConfig.java @@ -0,0 +1,24 @@ +package ru.soune.nocopy.configuration; + +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.web.filter.CharacterEncodingFilter; + +@Configuration +public class WebConfig { + + @Bean + public FilterRegistrationBean characterEncodingFilter() { + FilterRegistrationBean filterRegBean = new FilterRegistrationBean<>(); + CharacterEncodingFilter filter = new CharacterEncodingFilter(); + filter.setEncoding("UTF-8"); + filter.setForceEncoding(true); + filterRegBean.setFilter(filter); + filterRegBean.addUrlPatterns("/*"); + filterRegBean.setOrder(Ordered.HIGHEST_PRECEDENCE); + + return filterRegBean; + } +} diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index c0506d2..43f8bf9 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -72,6 +72,15 @@ security: server: port: ${SERVER_PORT:8080} baseurl: "http://92.242.61.23" + tomcat: + uri-encoding: UTF-8 + servlet: + encoding: + charset: UTF-8 + enabled: true + force: true + force-request: true + force-response: true logging: level: @@ -128,4 +137,5 @@ tarif: enterprice-price: 400 enterprice-max-files-count: 50 enterprice-disk-size: 500 - enterprice-user-count: 80 \ No newline at end of file + enterprice-user-count: 80 +