跳至主要內容

3.4 自定义请求路由

linguicheng...大约 1 分钟

简介

Wing的服务网关支持自定义请求路由配置。

自定义路由配置示例

{
  "Gateway": {
    // 自定义路由
   "Routes": [
     {
       // 上游配置
       "Upstream": {
         // 请求Url
         "Url": "test/hello/{name}",
         // 请求方式
         "Method": "get"
       },
       // 下游配置
       "Downstreams": [
         {
           // 服务名称
           "ServiceName": "Wing.Demo_3.2",
           "Url": "WeatherForecast/CustomRoute/{name}",
           // 请求方式
           "Method": "get"
         }
       ],
       // 是否启用JWT认证
       "UseJWTAuth": false,
       // 固定Key认证
       "AuthKey": ""
     }
   ]
 }
}

通配符配置示例

URL头部支持通配符:{*}

URL尾部支持通配符:{*}或者{*}.后缀

{
  "Gateway": {
    // 自定义路由
   "Routes": [
     {
       // 上游配置
       "Upstream": {
         // 请求Url
         "Url": "test/hello/{*}",
         // 请求方式
         "Method": "get"
       },
       // 下游配置
       "Downstreams": [
         {
           // 服务名称
           "ServiceName": "Wing.Demo_3.2",
           "Url": "WeatherForecast/CustomRoute/{*}",
           // 请求方式
           "Method": "get"
         }
       ],
       // 是否启用JWT认证
       "UseJWTAuth": false,
       // 固定Key认证
       "AuthKey": ""
     },
      {
       // 上游配置
       "Upstream": {
         // 请求Url
         "Url": "{*}/hello/{*}",
         // 请求方式
         "Method": "get"
       },
       // 下游配置
       "Downstreams": [
         {
           // 服务名称
           "ServiceName": "{*}",
           "Url": "WeatherForecast/CustomRoute/{*}",
           // 请求方式
           "Method": "get"
         }
       ],
       // 是否启用JWT认证
       "UseJWTAuth": false,
       // 固定Key认证
       "AuthKey": ""
     }
   ]
 }
}

查看运行结果

分别启动API服务示例3.2(点击查看完整示例代码3.2open in new window)、网关示例3.4(点击查看完整示例代码3.4open in new window),打开浏览器请求 http://localhost:3410/test/hello/Wingopen in new window ,返回结果如下图:

上次编辑于:
贡献者: linguicheng