web网关使用说明
web网关
是一个通用的web接口处理
服务,可以为业务接口提供restful
服务。其中包含一些安全验证,权限控制,接口限流等服务。
提供统一的api接口。
引入依赖
需要引入web网关的基础包wueasy-gateway
和bus客户端包wueasy-bus-client-motan
。
<dependency>
<groupId>com.wueasy</groupId>
<artifactId>wueasy-bus-client-motan</artifactId>
<version>最新版本</version>
</dependency>
<dependency>
<groupId>com.wueasy</groupId>
<artifactId>wueasy-gateway</artifactId>
<version>最新版本</version>
</dependency>
如果需要使用前端thymeleaf
模板引擎,那么需要引入以下配置
<dependency>
<groupId>com.wueasy</groupId>
<artifactId>wueasy-gateway-thymeleaf</artifactId>
<version>最新版本</version>
</dependency>
注册中心配置
配置注册中心地址,必须和bus服务端的注册中心地址一致。
wueasy :
#zookeeper注册中心地址
zk :
servers : 127.0.0.1:2181
sessionTimeout : 3000
connectionTimeout : 5000
bus客户端配置
配置连接bus服务端的连接属性。
wueasy :
bus :
#客户端配置
client :
base : #默认客户端配置
group : wueasy-demo
minClientConnection : 5 #client最小连接数
maxClientConnection : 20 #client最大连接数
requestTimeout : 60000 #请求超时时间(毫秒)
拦截器响应类型配置
配置拦截器异常时,响应的数据类型。
3.4.0版本以上
auto
:自适应,当判断ajax
请求时,自动返回json数据,反之页面跳转json
:json数据,全部返回json格式数据
wueasy :
gateway:
interceptor :
responseType : auto
3.x版本
1
:自适应,当判断ajax
请求时,自动返回json数据,反之页面跳转2
:json数据,全部返回json格式数据
wueasy :
gateway:
interceptor :
responseType : 1 #响应类型,1 自适应,2 json
序列化特性配置
serializer-feature-list
:序列化方式列表deffault-date-format
:日期默认格式,默认yyyy-MM-dd HH:mm:ss
long-to-string
:long转string类型是否启用,默认启用,true
启用,false
禁用
主要用于处理后端返回json的序列号特性配置,可以自定义序列化特性。
QuoteFieldNames
输出key时是否使用双引号,默认为trueUseSingleQuotes
使用单引号而不是双引号,默认为falseWriteMapNullValue
是否输出值为null的字段,默认为falseWriteEnumUsingToString
Enum输出name()或者original,默认为falseUseISO8601DateFormat
Date使用ISO8601格式输出,默认为falseWriteNullListAsEmpty
List字段如果为null,输出为[],而非nullWriteNullStringAsEmpty
字符类型字段如果为null,输出为”“,而非nullWriteNullNumberAsZero
数值字段如果为null,输出为0,而非nullWriteNullBooleanAsFalse
Boolean字段如果为null,输出为false,而非nullSkipTransientField
如果是true,类中的Get方法对应的Field是transient,序列化时将会被忽略。默认为trueSortField
按字段名称排序后输出。默认为falseWriteTabAsSpecial
把\t做转义输出,默认为false 不推荐PrettyFormat
结果是否格式化,默认为falseWriteClassName
序列化时写入类型信息,默认为false。反序列化是需用到DisableCircularReferenceDetect
消除对同一对象循环引用的问题,默认为falseWriteSlashAsSpecial
对斜杠’/’进行转义BrowserCompatible
将中文都会序列化为\uXXXX格式,字节数会多一些,但是能兼容IE 6,默认为falseWriteDateUseDateFormat
全局修改日期格式,默认为false。JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);DisableCheckSpecialChar
一个对象的字符串属性中如果有特殊字符如双引号,将会在转成json时带有反斜杠转移符。如果不需要转义,可以使用这个属性。默认为falseBeanToArray
将对象转为array输出
wueasy:
gateway:
json:
deffault-date-format: yyyy-MM-dd
long-to-string: true
serializer-feature-list:
- WriteMapNullValue
参数自动移除空格
3.4
版本开始支持
启用此项功能配置后,默认会自动过滤前端请求的参数,对字符串类型自动去除字符串首/尾空格。
wueasy:
gateway:
parameterAutoTrim: true #是否参数自动移除空格,true 是,false 否,默认 false
目前仅支持通用接口/servlet/功能编号
和/servlet/json/功能编号
。
中文乱码
解决网关中文乱码
3.4.0版本以上
3.4.0版本开始使用
2.3.0.RELEASE
,配置和以前版本不一致。
server :
servlet:
encoding: #编码设置
force: true
force-request: true
force-response: true
charset: UTF-8
enabled: true
3.x版本
spring:
http:
encoding:
charset: UTF-8
enabled: true
force: true