云服务器内容精选
-
访问环境 通过RESTful API可以访问API默认的RELEASE环境,如果访问其他环境,需要在请求头中添加X-Stage头,内容为环境名。例如访问名为“DEVELOP”的环境,则添加“X-Stage: DEVELOP”。 例如下图所示: GET /v1/path/apitest HTTP/1.1Host: service.region.example.comContent-Type: application/jsonx-sdk-date: 20190329T074551ZX-Stage: DEVELOP
-
调用API 配置请求地址相关参数。 API调用场景 API请求参数配置 使用 域名 调用API ROMA API允许使用服务分配的子域名或服务绑定的域名调用API,无需另外配置。 使用IP调用API ROMA API的实例配置参数“app_route”已设置为“on”,允许通过IP访问API。 允许使用IP地址调用API,无需另外配置。 配置认证参数。 API认证方式 API请求参数配置 APP认证 签名认证 使用获取的SDK对API请求进行签名,具体请参考APP认证开发。 简易认证 在ROMA API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的请求信息中获取到的AppCode。 双重认证 在API请求参数中增加自定义认证信息进行认证。 凭证认证 在API请求中添加Header参数“X-HW-ID”,获取API的请求信息中获取到凭证信息的Key。 在API请求中添加Header参数“X-HW-AppKey”,获取API的请求信息中获取到凭证信息的Secret。 app_api_key认证 ROMA API的实例配置参数“app_api_key”已设置为“on”,开启app_api_key认证。 在API请求中添加Header或Query参数“apikey”,参数值为获取API的请求信息中获取到的Key或AppKey。 app_secret认证 ROMA API的实例配置参数“app_secret”已设置为“on”,开启app_secret认证,且“app_api_key”已设置为“off”,关闭app_api_key认证。 在API请求中添加Header参数“X-HW-ID”,参数值为API所授权的Key或客户端的AppKey。 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的请求信息中获取到的Secret或AppSecret。 app_basic认证 ROMA API的实例配置参数“app_basic”已设置为“on”,开启app_basic认证。 在API请求中添加Header参数“Authorization”,参数值为"Basic "+base64(appkey+":"+appsecret),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret)。 app_jwt认证 ROMA API的实例配置参数“app_jwt”已设置为“on”,开启app_jwt认证。 在API请求中添加Header参数“Timestamp”,参数值为当前时间的Unix时间戳。 在API请求中添加Header参数“Authorization”,参数值为sha256(appkey+appsecret+timestamp),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret),timestamp为当前时间的Unix时间戳。 华为 IAM 认证 Token认证 先获取云服务平台的认证Token,然后在API请求中携带Token进行认证。 AK/SK认证 调用API时,使用获取的SDK对API请求进行签名,具体请参考IAM认证开发(AK/SK)。 双重认证 在API请求参数中增加自定义认证信息进行认证。 自定义认证 在API请求参数中携带认证信息进行认证。 无认证 无需认证,可直接调用API。
-
获取API的请求消息 在调用API前,您需要向API管理者获取API的请求信息,包括访问域名、请求协议、请求方法、请求路径以及请求参数。 根据API使用的安全认证方式,还要获取相关的请求认证信息: APP认证: 签名认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret),以及用于调用API的SDK。 简易认证:向API管理者获取该API所在应用的AppCode。 其他认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret)或凭证信息。 华为IAM认证:通过云服务平台的账号凭证(账号和密码 获取Token 或者AK/SK)进行认证。如果使用AK/SK进行认证,还需要向API管理者获取用于调用API的SDK。 自定义认证:向API管理者获取请求参数中要携带的自定义认证信息。 无认证:无需认证信息。
-
创建API文件 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。 在左侧导航栏单击“API设计”。 单击“创建API文件”。 在弹窗中修改“名称”,或默认系统自动生成的名称;根据下表说明,选择模板。 表1 API文件模板 模板类型 类型说明 SimpleAPI 提供简单GET请求样例。 DescriptionWithGFM 提供如何在API的描述信息中使用markdown语法,使描述信息更直观。 SimpleBookManagementAPI 提供资源管理类的简单API样例。 FileOperation 提供如何定义文件操作类API的简单样例。 Petstore 提供多种复杂API的定义样例。 单击“确定”,跳转到API设计文件的“编辑器”页面。 页面左侧为API列表,可选择API或数据模型查看。 页面中间为API的编辑窗口,编辑API时应遵循Swagger 2.0规范定义。 页面右侧为API的可视化视图窗口。 在编辑API设计文件时,单个API最多支持写入1024000个字符(包括空格),超过此限制将无法保存设计文件。 完成编辑后,单击右上角的“保存”。 您还可以执行以下操作。 (可选)配置SLA,提前设计接口运行的可靠性和性能指标。 (可选)Mock调测,对接口地址进行调测。 (可选)规范性检查,对接口规范性检查。 (可选)导入到 API服务 ,将已设计的接口导入API服务。 (可选)可视化设计API文件,对接口可视化设计。 (可选)配置SLA。单击。 需要配置SLA的API所在行,单击“配置SLA”。 勾选需要配置SLA的API,单击“批量配置SLA”。 (可选)Mock调测。 开启“Mock”会自动生成Mock服务地址,您可以在可视化窗口对接口地址进行调测。 (可选)规范性检查。 在规范性检查之前,您需提前启用规则集或创建规则集。在编辑窗口上方单击“规范性检查”,检查结果在可视化视图窗口查看,您可以根据修改建议修改规范性问题。 图1 规范性检查结果 (可选)导入到API服务。 单击“导入到API服务”,系统根据默认API导入规则检测API文件。 如需修复问题,单击“修复问题”根据修改建议修改问题。 图2 API导入规则检查结果 如忽略问题,可单击“继续导入”。 (可选)可视化设计API文件。 单击“表单”页签,您可以创建多个API文件或对API文件进行分类,以及可视化编辑API接口等。 在“API列表”区域,单击,创建API。 在“API列表”区域,单击,对API进行分类管理。 单击“文件基本信息”页签,查看设计文件基本信息。 单击“编辑”,对API进行编辑或修改。
-
导入Swagger文件 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。 在左侧导航栏单击“API设计”。 单击“导入Swagger文件”。 在弹窗中选择本地路径下的API设计文件,单击“打开”导入文件。 导入的YAML或JSON格式文件内容应满足Swagger 2.0规范定义。 页面自动跳转到“编辑器”页面,如需编辑导入后的设计文件,请参考6~12。
-
批量导入Swagger文件 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。 在左侧导航栏单击“API设计”。 单击“批量导入Swagger文件”。 在弹窗中选择本地路径下的API设计文件包,单击“打开”导入文件包。 导入的YAML或JSON格式文件内容应满足Swagger 2.0规范定义。 导入的zip压缩包大小不能超过1MB,单个YAML或JSON格式文件中内容不能超过1024000个字符(包括空格),否则将无法导入设计文件。 页面自动跳转到设计文件列表页面,如需编辑导入后的设计文件,请参考6~12。
-
启用规则集 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。 在左侧导航栏单击“API设计”。 在页面右上角单击“API设计配置”。 在“规则集”管理页面,找到需要启用的规则集,单击“启用”。 如需创建规则集,请参考创建规则集。 在弹窗中单击“确定”。 在已启用的规则集显示“当前使用”,规则集启用成功。 如需取消已启用的规则集,可启用另一个规则集,将当前使用规则集覆盖。 如需查看已启用规则,可单击规则集名称。 (可选)查看规则集详情,包含已启用规则和未启用规则,可单击“管理”或“查看”。 管理:自己创建的规则集支持查看和编辑。 查看:其他用户创建的规则集仅支持查看。 通过“问题级别”和“规则类型”选择性查看。 单击规则名称,可查看规则的“正确示例”和“错误示例”。 (可选)编辑规则集,可单击“管理”或“编辑”。 管理:配置规则。 取消已启用规则 在“已启用”的规则中,勾选需要取消启用的规则,单击“取消启用”。 启用规则 在“未启用”的规则中,勾选需要启用的规则,单击“启用”。 编辑:修改规则集名称和描述。
-
扩展字段配置 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。 在左侧导航栏单击“API设计”。 在页面右上角单击“API设计配置”。 在“API设计配置”页面,单击“扩展字段配置”。 单击“添加扩展字段”,定义扩展字段。 表1 定义扩展字段 信息项 描述 Key 填写Key值。 显示名 填写扩展字段名称。 显示样式 填写扩展字段的值,支持文本框、单选框、复选框和下拉列表的形式。 配置值 填写扩展字段的值,显示样式非“文本框”时,配置值必填。 必填 若勾选,表示配置扩展字段时,扩展字段内容不能为空。 显示区域 支持选择扩展字段在设计文件“表单”中显示的区域。 API基本信息 请求参数 数据模型基本信息 数据模型属性 将鼠标移至“显示区域”右侧的问号,单击“了解扩展字段显示区域”查看扩展字段对应区域显示详情。 描述 填写扩展字段的描述信息。 配置扩展字段。 进入API设计文件详情,在“表单”中找到定义扩展字段时选择的区域,并配置扩展字段。
-
转换证书为PEM格式 格式类型 转换方式(通过OpenSSL工具进行转换) CER/CRT 将“cert.crt”证书文件直接重命名为“cert.pem”。 PFX 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。 openssl pkcs12 -in cert.pfx -nocerts -out key.pem 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。 openssl pkcs12 -in cert.pfx -nokeys -out cert.pem P7B 证书转换,以“cert.p7b”转换为“cert.cer”为例。 openssl pkcs7 -print_certs -in cert.p7b -out cert.cer 将“cert.cer”证书文件直接重命名为“cert.pem”。 DER 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。 openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem 提取证书命令,以“cert.cer”转换为“cert.pem”为例。 openssl x509 -inform der -in cert.cer -out cert.pem
-
配置参数说明 表1 配置参数说明 参数 配置说明 Name 响应头名称。每个策略中不能添加重复名称的响应头(不区分大小写),且最多添加10条响应头。 Value 响应头的值。当“Action”为“Delete”时响应头的值不生效,可为空。 Action 响应头操作,您可以覆盖、添加、删除、跳过或新增指定的响应头。 override:覆盖 当API响应中存在指定的响应头时,使用当前响应头的值覆盖已有响应头的值。 当API响应中存在多个与指定响应头相同名称的响应头时,该操作只会按当前响应头的值返回一条响应头记录。 当API响应中不存在指定的响应头时,添加当前响应头。 append:添加 当API响应中存在指定的响应头时,将当前响应头的值添加到已有响应头值之后,用逗号分隔。 当API响应中存在多个与指定响应头相同名称的响应头时,会将多个响应头的值用“,”拼接后,再添加当前响应头的值。 当API响应中不存在指定的响应头时,添加当前响应头。 delete:删除 当API响应中存在指定的响应头时,删除当前响应头。 当API响应中存在多个与指定响应头相同名称的响应头时,删除所有相同名称的响应头。 skip:跳过 当API响应中存在指定的响应头时,跳过当前响应头。 当API响应中存在多个与指定响应头相同名称的响应头时,均不作处理直接返回。 当API响应中不存在指定的响应头时,添加当前响应头。 add:新增 无论API响应中是否存在指定的响应头,都添加当前响应头。
-
脚本配置示例 { "response_headers": [ { "name": "test", "value": "test", "action": "append" }, { "name": "test1", "value": "test1", "action": "override" } ]}
-
操作步骤 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。 在左侧导航栏单击“API设计”。 根据下表相关任务,了解如何管理API设计文件。 表1 管理API设计 相关任务 使用场景 操作步骤 导入到API服务 从API设计文件中挑选部分API接口生成API服务,开放给其他用户使用。 单击对应API设计文件所在行的“导入到API服务”。或单击“编辑器”/“表单”页面中的“导入到API服务”。 导入规则检测通过后,单击“继续导入”。 选择实例,编辑服务名称,选择API接口,单击“立即导入”。 (可选)服务全局配置具体操作步骤请参考导入API设计文件。 重命名 修改API设计文件名称。 单击对应API设计文件所在行的“重命名”,即可修改名称。 删除 删除API设计文件。 单击对应API设计文件所在行的“删除”,即可删除。 API变更历史 API设计文件的变更记录。支持查看变更前后的内容和还原变更内容。 查看全局API设计文件的变更历史 在页面右上角单击“API变更历史”,进入变更列表页面。 通过变更时间、请求方式或URL筛选变更信息。 单击“查看详情”,可通过文本形式或表单形式查看变更内容。 查看单个API设计文件的变更历史 单击对应API设计文件所在行的“变更历史”,即可查看相关操作记录。 单击对应操作所在行的“查看对比”,查看变更前和变更后的对比信息。 (可选)差异对比,可任意选择两个操作,单击“差异对比”,查看变更前后的信息。 如需还原操作,单击对应操作所在行的“还原”,还原到当前版本。 导入 API设计文件从本地导入API设计。 在页面中单击API设计文件名称,进入API编辑页面。 单击“编辑器/表单”页签。 单击,导入文件。 导出 API设计文件以YAML或JSON格式导出到本地,用于导入API设计或其他用途。 在页面中单击API设计文件名称,进入API编辑页面。 单击“编辑器/表单”页签。 根据需要导出文件的格式,单击,选择“导出YAML/导出JSON”导出文件。 Mock调测 对API设计文件的接口地址进行调测。 在页面中单击API设计文件名称,进入API编辑页面。 单击“编辑器”页签。 在编辑窗口上方开启“Mock”会自动生成Mock服务地址,您可以在可视化窗口对接口地址进行调测。 规范性检查 在API设计过程中提供接口规范性检查,帮助用户快速设计标准的RESTful API。 在页面中单击API设计文件名称,进入API编辑页面。 单击“编辑器”页签。 单击编辑窗口上方的“规范性检查”。 在可视化窗口单击“Show”查看结果,您可以根据“修改建议”修改规范性问题。 (可选)单击“表单”页签。 单击页面右上角“规范性检查”。 在弹窗中查看结果,您可以根据“修改建议”修改规范性问题。 创建Tag 对API接口进行分类处理,方便筛选或查找API接口。 在页面中单击API设计文件名称,进入API编辑页面。 单击“表单”页签。 在“API列表”区域,单击。 在弹窗中填写Tag信息后,单击“确定”。 创建API 在API设计文件中创建多个API接口。 在页面中单击API设计文件名称,进入API编辑页面。 单击“表单”页签。 在“API列表”区域,单击或在对应Tag右侧单击。 在页面右侧对API进行可视化编辑设计。 编辑完成后,单击“保存”。
-
API运行时可获取变量 表2 网关错误响应消息体支持的变量 运行时变量名称 描述 $context.apiId API的ID $context.appId API消费者的APP对象ID $context.requestId 当次API调用生成请求ID $context.stage API调用的部署环境 $context.sourceIp API消费者的源地址 $context.authorizer.frontend.property 前端自定义认证响应的context映射的指定键值对的字符串值 $context.authorizer.backend.property 后端自定义认证响应的context映射的指定键值对的字符串值 $context.error.message 当前网关错误响应的错误信息 $context.error.code 当前网关错误响应的错误码 $context.error.type 当前网关错误响应的错误类型
-
网关错误响应类型说明 ROMA API提供的错误响应类型见表1,其中响应状态码可以按实际需要做自定义修改。 表1 ROMA API的错误响应类型 错误响应类型 默认的响应状态码 错误说明 详细说明 AC CES S_DENIED 403 拒绝访问 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截 AUTHORIZER_CONF_FAILURE 500 自定义认证配置错误 自定义认证方异常,通信失败、返回异常响应等错误 AUTHORIZER_FAILURE 500 自定义认证失败 自定义认证方返回认证失败 AUTHORIZER_IDENTITIES_FAILURE 401 自定义认证身份来源错误 前端自定义认证的身份来源信息缺失或不合法错误 AUTH_FAILURE 401 认证失败 认证失败,IAM或APP认证校验失败 AUTH_HEADER_MISSING 401 认证身份来源缺失 认证身份来源信息缺失 BACKEND_TIMEOUT 504 后端超时 后端超时,与后端的网络交互超过预配置的时间错误 BACKEND_UNAVAILABLE 502 后端不可用 后端不可用,网络不可达错误 DEFAULT_4XX - 默认4XX 其它4XX类错误 DEFAULT_5XX - 默认5XX 其它5XX类错误 NOT_FOUND 404 未找到匹配的API 未匹配到API REQUEST_PA RAM ETERS_FAILURE 400 请求参数错误 请求参数校验失败、不支持的HTTP方法 THROTTLED 429 调用次数超出阈值 API调用次数超出所配置的流量策略阈值 UNAUTHORIZED 401 应用未授权 使用的应用未被授权访问该API
-
配置参数说明 表1 配置参数说明 参数 配置说明 allowed origins Access-Control-Allow-Origin响应头,指定允许访问API的外域URI,多个URI之间使用英文逗号隔开。 对于未携带身份凭证的请求,可以把参数值设置为“*”,表示允许来自所有域的访问请求。 allowed methods Access-Control-Allow-Methods响应头,指定允许使用的HTTP请求方法,多个请求方法之间使用英文逗号隔开。 allowed headers Access-Control-Allow-Headers响应头,指定XMLHttpRequest请求中允许携带的请求头字段,多个请求头之间使用英文逗号隔开。 其中,简单请求头Accept、Accept-Language、Content-Language、Content-Type(取值仅限为application/x-www-form-urlencoded、multipart/form-data、text/plain时)默认允许在请求中携带,无需在该参数中设置。 exposed headers Access-Control-Expose-Headers响应头,指定XMLHttpRequest请求响应中允许携带的响应头字段,多个响应头之间使用英文逗号隔开。 其中,基本响应头Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma默认允许在响应中携带,无需在该参数中设置。 maximum age Access-Control-Max-Age响应头,指定本次预检请求的有效期,单位为秒。在有效期内,无需再次发出预检请求。 allowed credentials Access-Control-Allow-Credentials响应头,定XMLHttpRequest请求中是否允许携带Cookie。 true表示允许。 false表示不允许。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格