mirror of https://github.com/jeecgboot/jeecg-boot
parent
1998867ca6
commit
fe1b58ade2
|
@ -1,17 +1,15 @@
|
||||||
package org.jeecg.config;
|
package org.jeecg.config;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
|
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Conditional;
|
import org.springframework.context.annotation.Conditional;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||||
import org.springframework.web.cors.CorsConfiguration;
|
import org.springframework.web.cors.CorsConfiguration;
|
||||||
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
||||||
import org.springframework.web.filter.CorsFilter;
|
import org.springframework.web.filter.CorsFilter;
|
||||||
|
@ -19,6 +17,8 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
|
||||||
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spring Boot 2.0 解决跨域问题
|
* Spring Boot 2.0 解决跨域问题
|
||||||
*
|
*
|
||||||
|
@ -71,24 +71,20 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
|
||||||
return new CorsFilter(urlBasedCorsConfigurationSource);
|
return new CorsFilter(urlBasedCorsConfigurationSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 序列换成json时,将所有的long变成string
|
* 添加Long转json精度丢失的配置
|
||||||
* js中long过长精度丢失
|
* @Return: void
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Override
|
||||||
@Primary
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
|
||||||
@ConditionalOnMissingBean(ObjectMapper.class)
|
MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
|
||||||
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
|
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
SimpleModule simpleModule = new SimpleModule();
|
SimpleModule simpleModule = new SimpleModule();
|
||||||
//忽略在json字符串中存在,在java类中不存在字段,防止错误。
|
|
||||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
||||||
objectMapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true);
|
|
||||||
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
||||||
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
|
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
|
||||||
objectMapper.registerModule(simpleModule);
|
objectMapper.registerModule(simpleModule);
|
||||||
return objectMapper;
|
jackson2HttpMessageConverter.setObjectMapper(objectMapper);
|
||||||
|
converters.add(jackson2HttpMessageConverter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,20 +1,26 @@
|
||||||
package org.jeecg.handler;
|
package org.jeecg.handler;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.cloud.gateway.route.RouteLocator;
|
import org.springframework.cloud.gateway.route.RouteLocator;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import springfox.documentation.swagger.web.SwaggerResource;
|
import springfox.documentation.swagger.web.SwaggerResource;
|
||||||
import springfox.documentation.swagger.web.SwaggerResourcesProvider;
|
import springfox.documentation.swagger.web.SwaggerResourcesProvider;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 聚合各个服务的swagger接口
|
* 聚合各个服务的swagger接口
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@Primary
|
||||||
public class MySwaggerResourceProvider implements SwaggerResourcesProvider {
|
public class MySwaggerResourceProvider implements SwaggerResourcesProvider {
|
||||||
/**
|
/**
|
||||||
* swagger2默认的url后缀
|
* swagger2默认的url后缀
|
||||||
|
@ -46,7 +52,7 @@ public class MySwaggerResourceProvider implements SwaggerResourcesProvider {
|
||||||
.filter(route -> !self.equals(route.getUri().getHost()))
|
.filter(route -> !self.equals(route.getUri().getHost()))
|
||||||
.subscribe(route -> routeHosts.add(route.getUri().getHost()));
|
.subscribe(route -> routeHosts.add(route.getUri().getHost()));
|
||||||
|
|
||||||
// 记录已经添加过的server,存在同一个应用注册了多个服务在eureka上
|
// 记录已经添加过的server,存在同一个应用注册了多个服务在nacos上
|
||||||
Set<String> dealed = new HashSet<>();
|
Set<String> dealed = new HashSet<>();
|
||||||
routeHosts.forEach(instance -> {
|
routeHosts.forEach(instance -> {
|
||||||
// 拼接url
|
// 拼接url
|
||||||
|
|
Loading…
Reference in New Issue