soul源码分析(1)http插件的使用与soul插件工作流程分析

目标

  • 演示soul网关HTTP插件的使用
  • 分析soul插件的整体工作流程,

1. HTTP插件的使用

1.1 在soul-bootstrap项目中引入如下插件,然后重新启动soul网关,启动步骤参见 soul源码分析_0_阅读源码准备与soul基础

  <!--if you use http proxy start this-->
   <dependency>
       <groupId>org.dromara</groupId>
       <artifactId>soul-spring-boot-starter-plugin-divide</artifactId>
        <version>${last.version}</version>
   </dependency>

   <dependency>
       <groupId>org.dromara</groupId>
       <artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId>
        <version>${last.version}</version>
   </dependency>

1.2 将soul-client接入到你的项目中,此处以spring-boot项目为例给下配置方式:

  • (1)在你的项目中添加soul-spring-boot-starter-client-springmvc依赖:
   <dependency>
         <groupId>org.dromara</groupId>
         <artifactId>soul-spring-boot-starter-client-springmvc</artifactId>
         <version>${last.version}</version>
     </dependency>
  • (2)在你的项目文件中添加如下配置(以YAML格式为例)
 soul:
     http:
       adminUrl: http://localhost:9095
       port: 你本项目的启动端口
       contextPath: /http
       appName: http
       full: false  
   # adminUrl: 为你启动的soul-admin 项目的ip + 端口,注意要加http://
   # port: 你本项目的启动端口
   # contextPath: 为你的这个mvc项目在soul网关的路由前缀,比如/order ,/product 等等,网关会根据你的这个前缀来进行路由.
   # appName:你的应用名称,不配置的话,会默认取 `spring.application.name` 的值
   # full: 设置true 代表代理你的整个服务,false表示代理你其中某几个controller

SpringMVC的接入方式参见官方文档:https://dromara.org/zh-cn/docs/soul/user-http.html

  • (3)在你的 controller 的接口上加上 @SoulSpringMvcClient 注解。

    • 可以把注解加到 Controller 类上面,里面的path属性则为前缀,如果含有 /** 代表你的整个接口需要被网关代理。

    此处可以参考官方示例soul-examples-http中的代码。

    简单起见本文也将以soul-examples-http作为后端应用。

运行soul-examples-http

soul-examples-http作为示例。在上述工作准备完毕后,检查下soul-admin管理端页面中的System Manage->Plugindivide插件状态、保证为开启状态,

在这里插入图片描述

然后启动soul-examples-http,会发现后端程序启动时将接口注册到了soul中,参考下面日志:

......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值