
org.nutz.spring.boot.json.NutzJsonMessageConverterAutoConfiguration Maven / Gradle / Ivy
package org.nutz.spring.boot.json;
import java.util.Map;
import java.util.TimeZone;
import org.nutz.json.Json;
import org.nutz.json.JsonFormat;
import org.nutz.json.JsonTypeHandler;
import org.nutz.lang.Strings;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.HttpMessageConverter;
import jakarta.annotation.PostConstruct;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
/**
* @author kerbores([email protected])
*
*/
@AutoConfiguration
@RequiredArgsConstructor
@ConditionalOnClass({Json.class})
@EnableConfigurationProperties(NutzJsonAutoConfigurationProperties.class)
public class NutzJsonMessageConverterAutoConfiguration {
private final ApplicationContext applicationContext;
@PostConstruct
public void init() {
Map jsonTypeHandlers = applicationContext.getBeansOfType(JsonTypeHandler.class);
jsonTypeHandlers.values().forEach(Json::addTypeHandler);
Json.addTypeHandler(new URIHandler());
Json.addTypeHandler(new URLHandler());
}
@Bean
@ConditionalOnExpression("${nutz.json.enabled:false}")
HttpMessageConverter
© 2015 - 2025 Weber Informatics LLC | Privacy Policy