【SpringCloud分布式框架搭建】gateway网关,动态路由配置,使用Mysql,存储路由,实现集群gateway动态路由【二】

【SpringCloud分布式框架搭建】gateway网关,动态路由配置,使用Mysql,存储路由,实现集群gateway动态路由【一】

最新版本,已更改为redis存储,并新增了 token验证以及token的动态过滤验证

GitHub 地址:https://github.com/seowen808/springCloud

1、创建 与表对应的 pojo、service、controller。如下:
pojo:


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.keda.bean.common.BasePojo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * gateway动态路由配置表
 * </p>
 *
 * @author seowen
 * @since 2019-12-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class GatewayDynamicRoute extends BasePojo<GatewayDynamicRoute> {

    private static final long serialVersionUID = 1L;

    /**
     * 路由Id
     */
    @TableField("route_id")
    private String routeId;

    /**
     * 路由规则转发的uri
     */
    @TableField("`uri`")
    private String uri;

    /**
     * 路由的执行顺序
     */
    @TableField("`order`")
    private Integer order;

    /**
     * 路由断言集合配置json串
     */
    @TableField("predicate_json")
    private String predicates;

    /**
     * 路由过滤器集合配置json串
     */
    @TableField("filter_json")
    private String filters;

    /**
     * 状态:0,"不可用");1,"可用")
     */
    @TableField("`enable`")
    private Boolean enable;


    @Override
    protected Serializable pkVal() {
        return null;
    }

}

BasePojo

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author seowen
 * @since 2019/7/3
 */
@Data
public class BasePojo<T extends BasePojo<?>> extends Model{
    /**
     * 主键Id
     */
    @TableId(type = IdType.INPUT)
    @TableField(value = "id")
    protected Long id;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    protected LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    protected LocalDateTime updateTime;

    /**
     * 创建用户id
     */
    @TableField(value = "create_user_id")
    protected Long createUserId;

    /**
     * 最后操作者的id
     */
    @TableField(value = "last_user_id")
    protected Long lastUserId;


    private static final long serialVersionUID = 1L;
}

mapper

import com.keda.gateway.entity.GatewayDynamicRoute;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotati
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值