全部产品

导入Swagger创建API

更新时间:2018-08-27 20:53:19

描述

通过调用ImportSwagger接口,可以通过导入符合阿里云swagger规范的文本内容创建API:

  • 阿里云目前支持基于Swagger 2.0的扩展
  • 只支持json/yaml格式的swagger配置文件

请求参数

名称 类型 是否必须 描述
Action String 操作接口名,取值:ImportSwagger
GroupId String swagger将被导入的分组编号
Overwrite Boolean 是否覆盖现有API。覆盖检测条件为: API的http请求类型+后端请求路径相同
DataFormat String swagger文本格式:
  • json
  • yaml
Data String swagger文本内容。详情请查看:通过Swagger导入API

返回参数

名称 数据类型 描述
RequestId String 本次请求编号
Success ApiImportSwaggerSuccess 本次所有通过swagger导入成功的API信息
Failed ApiImportSwaggerFailed 本次所有通过swagger导入失败的API信息

对象说明

ApiImportSwaggerSuccess

对象属性名称 对象属性类型 描述
Path String 创建API时配置的请求路径
Method String 创建API时配置的http方法
ApiUid String 导入成功的API的UID
ApiOperation String 该API是创建(CREATE)或修改(MODIFY)

ApiImportSwaggerFailed

对象属性名称 对象属性类型 描述
Path String 创建API时配置的请求路径
Method String 创建API时配置的http方法
ErrorMsg String 创建API时返回的错误信息

请求示例

  1. POST /?Action=ImportSwagger
  2. &GroupId=0009db9c828549768a200320714b8930
  3. &Overwrite=true
  4. &DataFormat=yaml
  5. &Data="A Swagger API definition in YAML"
  6. &<公共请求参数>

返回示例

xml格式

  1. <RequestId>647CEF05-404C-4125-B3D7-44792EB77392</RequestId>
  2. <Failed>
  3. <ApiImportSwaggerFailed>
  4. <ErrorMsg>api already exists : apiUid ===&gt; 8e274ec61cf6468e83b68371956831cb</ErrorMsg>
  5. <HttpMethod>post</HttpMethod>
  6. <Path>/http/get/mapping</Path>
  7. </ApiImportSwaggerFailed>
  8. </Failed>
  9. <Success>
  10. <ApiImportSwaggerSuccess>
  11. <Operation>CREATE</Operation>
  12. <ApiUid>8e274ec61cf6468e83b68371956831cb</ApiUid>
  13. <HttpMethod>get</HttpMethod>
  14. <Path>/http/get/mapping</Path>
  15. </ApiImportSwaggerSuccess>
  16. </Success>

json格式

  1. {
  2. "RequestId": "647CEF05-404C-4125-B3D7-44792EB77392",
  3. "Failed": {
  4. "ApiImportSwaggerFailed": [
  5. {
  6. "ErrorMsg": "api already exists : apiUid ===> 8e274ec61cf6468e83b68371956831cb",
  7. "HttpMethod": "post",
  8. "Path": "/http/get/mapping"
  9. }
  10. ]
  11. },
  12. "Success": {
  13. "ApiImportSwaggerSuccess": [
  14. {
  15. "Operation": "CREATE",
  16. "ApiUid": "8e274ec61cf6468e83b68371956831cb",
  17. "HttpMethod": "get",
  18. "Path": "/http/get/mapping"
  19. }
  20. ]
  21. }
  22. }