可自定义路由拉取url

This commit is contained in:
tanghc
2019-09-16 15:57:41 +08:00
parent ab7b0bd4c0
commit fcf4b6362d
8 changed files with 169 additions and 77 deletions

View File

@@ -78,3 +78,85 @@ public class OpenServiceConfig extends AlipayServiceConfiguration {
```
到此准备工作就完成了,接下来可前往`新增接口`查看如何新增接口。
## 非Java项目接入
如果是非Java项目接入如php需要做到以下几点
1. 提供路由配置接口
2. 服务注册到nacos并在nacos的metadata中指定接口路径metadata的key为`sop.routes.path`
- 提供路由配置接口
php应用提供的接口需要返回如下json内容
```json
{
"serviceId": "story-service",
"createTime": 1568603471646,
"updateTime": 1568603471646,
"description": null,
"routeDefinitionList": [
{
"id": "alipay.category.get1.0",
"name": "alipay.category.get",
"version": "1.0",
"uri": "lb://story-service",
"path": "/alipay.category.get/",
"order": 0,
"ignoreValidate": 0,
"status": 1,
"mergeResult": 1,
"permission": 0
},
...
]
}
```
json参数说明
|参数名|是否必填|说明|
|:----|:----|:----|
|serviceId |是|serviceId服务id |
|createTime |是|创建时间Unix timestamp毫秒 |
|updateTime |是|修改时间Unix timestamp毫秒 |
|description|否|描述|
|routeDefinitionList元素参数说明|是|路由配置routeDefinitionList元素参数说明|
routeDefinitionList元素参数说明
|参数名|是否必填|说明|
|:----|:----|:----|
|id |是|路由id全局唯一格式接口名+版本号 |
|name|是|接口名称|
|version|是|版本号|
|uri|是|格式lb:// + serviceIdlb://order-service|
|path|是|接口path填端口号后面的path如你的接口为http://open.domain.com:8080/goods/list_goods/goods/list_goods|
|order|是|固定填0|
|ignoreValidate|是|忽略签名验证10否|
|status|是|启用状态1启用2禁用|
|mergeResult|是|是否统一返回结果10否|
|permission|是|是否需要权限访问10否|
- 服务注册到nacos
可前往nacos官网参考[open-api](https://nacos.io/zh-cn/docs/open-api.html)使用nacos提供的接口完成服务注册
- 在nacos的metadata中指定接口路径
伪代码如下:
```java
Instance instance = new Instance();
instance.setServiceName("order-service");
instance.setIp("192.168.0.11");
instance.setPort(8080);
// 在nacos的metadata中指定接口路径
instance.getMetadata().put("sop.routes.path", "/goods/list_goods");
namingService.registerInstance(serviceId, instance);
```
完成以上步骤后php服务注册到nacos网关会触发监听事件获取新注册的服务然后会向你的服务拉取路由配置。