全部产品
云市场

模型管理

更新时间:2019-04-12 10:07:13

1. 模型的简介及限定

模型用于描述HTTP协议的请求数据和响应数据。API网关通过使用JSON Schema定义模型,用来描述用户API约定数据的组织方式,比如参数或者返回值有哪些字段,这些字段的取值范围等。同时,通过定义模型,并在用户创建的API中加以引用,用户在API的SDK导出时,关联的Model会自动生成对应的POJO类。这样可以增强用户传入参数的便利性,同时可以方便用户反序列化返回的数据。

API网关模型定义基于JSON架构草案4的规范,但存在一定的条件限制:

  1. 仅支持创建元素属性为Object类型的JSON Schema
  2. $ref仅支持本用户的内部Model引用。Model的‘ref’引用地址可以通过CreateModelDescribe Models获取。‘ref’不支持循环引用。

Api网关支持的模型可以参考如下定义:

  1. {
  2. "required": ["name", "photoUrls"],
  3. "type": "object",
  4. "properties": {
  5. "id": {
  6. "format": "int64",
  7. "type": "integer"
  8. },
  9. "category": {
  10. "$ref": "https://apigateway.aliyun.com/models/bbc725be4b0b48b79bdd2f6ebbdcc8c0/a5e7741d8a3a4bcb9746275a0db15fcf"
  11. },
  12. "name": {
  13. "pattern": "^\\d{3}-\\d{2}-\\d{4}$",
  14. "type": "string"
  15. },
  16. "status": {
  17. "type": "string"
  18. },
  19. "dogProject": {
  20. "type": "object",
  21. "properties": {
  22. "id": {
  23. "format": "int64",
  24. "maximum": 100,
  25. "exclusiveMaximum": true,
  26. "type": "integer"
  27. },
  28. "name": {
  29. "maxLength": 10,
  30. "type": "string"
  31. }
  32. }
  33. }
  34. }
  35. }

2. 创建模型

您可以通过阿里云提供的Openapi-CreateModel进行模型创建。同样,您也可以通过API网关的控制台进行创建。

模型相关操作的控制台入口:

  1. 点击分组管理
  2. 点击模型管理,进入模型管理界面来创建模型模型管理

Swagger导入创建模型:

Api网关支持Swagger导入。Swagger文件中的Model相关内容会在Swagger导入成功后,会在该分组下自动生成模型。注意:通过Swagger导入模型时,同名模型将直接被覆盖,不会进行用户确认

3. 修改和查看模型

完成模型的创建后,可以在模型管理界面点击查看所需的模型。在模型的详情页,可以看到模型的名称,模型的定义,以及系统为其分配的URI。API网关模型间可以通过‘$ref:{URI}’来实现模型间的项目引用。

如果用户希望对当前模型的信息进行修改,可以点击右上角修改按钮完成模型的修改。需要注意的是:模型的URI不随模型的更改发生改变

模型管理2

4. 删除模型

用户可以对分组下的模型进行删除操作。注意:API网关不维护模型和API的关联关系,删除模型时可能会引起线上API的SDK导出失败等问题。因此,删除模型请谨慎操作