API 网关的配置
优质
小牛编辑
133浏览
2023-12-01
API 网关的配置
- 利用工程发布的配置,将 我们前面章节中写的服务消费者工程上传至Git,然后发布 部署至 服务器的Tomcat上。
- 登录 Aliyun 账户,进入 API网关控制台,点击 分组管理 - 杭州节点,点击创建分组,填写分组名称与描述,点击创建。
- 点击刚刚创建的分组,进入分组详情,如需绑定域名,请点击页面上的绑定域名,并对域名的CNAME 进行解析。
- 在分组列表页面上,点击 API 管理,对当前分组下的API进行操作。
- 点击创建API,我们新建一个API。 创建一个API,分为一下几个步骤。
- 定义基本信息。
- 定义API 请求,填写调用此API 时需要的请求信息。
- 定义API 后端服务,这一步定义了调用后端真正的API时的信息。 有必要说明,常量参数和系统参数 这两个定义。这两种参数API的请求者不可见,由网关在请求后端服务时添加上 常量参数。比如我后端需要接收一个常量,但是这个常量我不喜欢被我的客户看见,那么我就设置一个常量参数,可以在Header或者Query里面接收。 系统参数。比如我需要获取客户调用API时用的APP的ID来做日志统计,我在系统参数配置,可以在Header或者Query里面接收。强烈建议后端接收CaRequestId字段,每个请求一个ID唯一,便于问题定位和建立全量日志。
- 定义返回结果。
- 点击保存,在API定义中 即可看到我们刚刚创建的API 的信息。
API 网关的调用
发布API
在API 定义 的界面中,点击发布,选择发布到测试环境,填写发布内容,点击发布。
使用调试API 工具进行调用
这个工具是 API网关针对 开发人员的调试工具,非常的简单易用。
- 在左边栏 中点击调试API
- 输入对应的参数,点击发送请求,在右边控制台上即可看到调用结果。
使用代码进行调用
如果上面的调试工具调用成功,下面我们即可在代码中对此接口进行调用。 - 创建应用,在调用API - 应用管理中点击创建应用。
- 点击进应用详情,获取到 APP ID和APP SCRECT。
- 到API 管理,授权信息中点击添加授权 通过APP ID 搜索对刚刚创建的API进行授权。
- 我们使用API 网关 提供的官方DEMO,对此API 进行调用。
- 将代码Clone 下来之后,通过Maven构建导入IDEA,·我们找到 test 模块中的 Demo 类,点击进入。
- 修改DEMO 类中的 HOST,APP ID, APP SCRECT。
因为我们刚刚定义的工程是GET 方法,所以我们对 DEMO 单元测试中的get() 方法进行修改。
/** * HTTP GET * * @throws Exception */ @Test public void get() throws Exception { //请求path String path = "/helloDubbo"; Map<String, String> headers = new HashMap<String, String>(); //(必填)根据期望的Response内容类型设置 headers.put(HttpHeader.HTTP_HEADER_ACCEPT, "application/json"); headers.put("X-Ca-Stage","TEST"); headers.put("X-Ca-Version","1"); Request request = new Request(Method.GET, HttpSchema.HTTP + HOST, path, APP_KEY, APP_SECRET, Constants.DEFAULT_TIMEOUT); request.setHeaders(headers); //请求的query Map<String, String> querys = new HashMap<String, String>(); querys.put("region", "test"); request.setQuerys(querys); //调用服务端 Response response = Client.execute(request); System.out.println(JSON.toJSONString(response)); }
点击运行 get()方法,在控制台中即可查看到运行结果,在body 中,我们已经看到了 接口返回的 Hello, Dubbo!。