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时是否使用双引号,默认为true
  • UseSingleQuotes 使用单引号而不是双引号,默认为false
  • WriteMapNullValue 是否输出值为null的字段,默认为false
  • WriteEnumUsingToString Enum输出name()或者original,默认为false
  • UseISO8601DateFormat Date使用ISO8601格式输出,默认为false
  • WriteNullListAsEmpty List字段如果为null,输出为[],而非null
  • WriteNullStringAsEmpty 字符类型字段如果为null,输出为”“,而非null
  • WriteNullNumberAsZero 数值字段如果为null,输出为0,而非null
  • WriteNullBooleanAsFalse Boolean字段如果为null,输出为false,而非null
  • SkipTransientField 如果是true,类中的Get方法对应的Field是transient,序列化时将会被忽略。默认为true
  • SortField 按字段名称排序后输出。默认为false
  • WriteTabAsSpecial 把\t做转义输出,默认为false 不推荐
  • PrettyFormat 结果是否格式化,默认为false
  • WriteClassName 序列化时写入类型信息,默认为false。反序列化是需用到
  • DisableCircularReferenceDetect 消除对同一对象循环引用的问题,默认为false
  • WriteSlashAsSpecial 对斜杠’/’进行转义
  • BrowserCompatible 将中文都会序列化为\uXXXX格式,字节数会多一些,但是能兼容IE 6,默认为false
  • WriteDateUseDateFormat 全局修改日期格式,默认为false。JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);
  • DisableCheckSpecialChar 一个对象的字符串属性中如果有特殊字符如双引号,将会在转成json时带有反斜杠转移符。如果不需要转义,可以使用这个属性。默认为false
  • BeanToArray 将对象转为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
Copyright © wueasy.com 2017-2020 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2020-06-24

results matching ""

    No results matching ""