云服务器内容精选
-
测试API 填写入参取值。 如果单个参数需要传多个值时,写法如下: 字符串:'a','b','c' 数值:1,2 字段:a,b,c 图6 填写入参取值 (可选)调整排序参数描述pre_order_by的值。 pre_order_by的默认值已由系统根据已配置的所有排序参数给出,自定义排序默认为升序。排序参数描述pre_order_by的值填写形式为“排序参数参数名:ASC”或“排序参数参数名:DESC”,其中ASC表示升序,DESC表示降序,多个排序参数描述以“英文分号”进行分隔。勾选“是否传值”后,测试结果将按照pre_order_by的值排序。 对于pre_order_by的值,您可以进行如下修改: 删掉某可选的排序参数,则此排序参数不再参与排序。 修改自定义排序方式的排序参数为升序或降序方式,则此排序参数按照修改后的排序方式排序。 pre_order_by的值,不支持进行如下修改,否则会修改不生效或导致调用报错。 删掉某必选的排序参数,则此排序参数依然会正常参与排序,删除不生效。 调整排序参数的前后顺序,则排序依然以SQL中的排序参数顺序为准。调整不生效。 修改升序或降序的排序参数为其他排序方式,则会调用失败,不允许修改。 图7 调整排序参数描述pre_order_by的值 (可选)查看分页参数值。 采用默认分页方式时,可以查看分页参数情况,其中pageSize表示分页后的页面大小,pageNum表示页码。默认按100的大小分页,返回第1页数据。 图8 查看分页参数值 完成API参数的配置并保存后,单击左下角的“开始测试”,可进入API测试环节。 填写参数值,单击“开始测试”,即可在线发送API请求,在右侧可以看到API请求详情及返回内容。 测试过程中,如果数据服务API查询及返回数据的总时长超过默认60秒,会报超时错误。 如果测试失败,请查看错误提示并做相应的修改重新测试。 完成API测试之后,单击“确定”,即成功生成了一个数据API。
-
配置取数逻辑 本例中以脚本方式说明如何配置API取数逻辑。Mybatis方式与之相比差异在于参数解析形式和支持的语法差异,在使用流程上没有区别。 如果使用Mybatis方式生成API,则需要将本章节脚本中的参数解析格式由${parameter}修改为#{parameter}形式,另外Mybatis方式支持的标签语法可在界面中单击脚本编辑处的,查看弹出的Mybatis脚本编辑提示。 “取数方式”选择“脚本方式”或“MyBatis方式”: 选择数据源、数据连接、数据库等数据信息。 数据服务仅支持部分数据源,详情请参见 DataArts Studio 支持的数据源。您需提前在DataArts Studio管理中心中配置好数据源,按照脚本编辑提示要求输入SQL语句。 选择分页方式,推荐使用自定义分页方式。 默认分页是指在创建API时输入了SQL,数据服务会自动基于SQL外层包装分页逻辑。 例如输入的SQL脚本为: SELECT * FROM userinfo WHERE id=${userid} 数据服务在处理调试或者调用时,将自动在用户SQL外层包装分页逻辑,从而变成以下脚本: SELECT * FROM (SELECT * FROM userinfo WHERE id=${userid}) LIMIT {limitValue} OFFSET {offsetValue} 其中limitValue表示读取的数据条数,offsetValue表示跳过的数据条数(即偏移量),系统将默认赋值。 自定义分页是指在创建API时,数据服务将不对SQL进行处理,分页逻辑需要在写SQL时由用户自定义。值得注意的是,为避免API查询数据量过大导致集群异常,自定义分页方式下必须在写SQL时添加分页逻辑。 如果已知需要读取的数据条数limitValue和需要跳过的数据条数offsetValue,则分页逻辑可以写成以下脚本: SELECT * FROM userinfo WHERE id=${userid} LIMIT {limitValue} OFFSET {offsetValue} 而在实际使用中,更多的是根据分页后的页面大小pageSize和页码pageNum定义分页逻辑,脚本样式如下: SELECT * FROM userinfo WHERE id=${userid} LIMIT {pageSize} OFFSET {pageSize*(pageNum-1)} 不同的数据源具有不同的语法风格,分页脚本应按照数据源语法要求调整。例如: DLI 数据源不支持“LIMIT {limitValue} OFFSET {offsetValue}”的写法,仅支持“LIMIT {limitValue}” 。 HETU数据源分页需要反转,不支持“LIMIT {limitValue} OFFSET {offsetValue}”的写法,仅支持“OFFSET {offsetValue} LIMIT {limitValue}”。 编写API查询SQL。 在脚本编辑页面,单击脚本编辑处的,按照脚本编辑提示开发SQL查询语句。单击可将入参添加为SQL语句的API请求参数。另外,专享版数据服务支持返回总条数,开启后可返回取值脚本执行结果数据的总条数。 例如,需要在用户表中根据用户ID查询用户信息时,取值脚本可写为如下脚本。其中,“id”为userinfo表中的字段,“userid”为API中定义的入参。 SELECT * FROM userinfo WHERE id=${userid} 如果分页方式为自定义分页,页面大小pageSize为10、页码pageNum为2时,按照LIMIT {pageSize} OFFSET {pageSize*(pageNum-1)}转换方法,脚本可写为: SELECT * FROM userinfo WHERE id=${userid} LIMIT 10 OFFSET 10 图2 编写API查询SQL 脚本编辑完成后,单击脚本编辑窗口下方的“测试SQL”,填写入参值,执行验证是否能返回预期结果。如果测试失败,可在“预览SQL”页签下查看实际运行的SQL语句是否符合预期,或者通过“日志”页签查看报错信息。 图3 测试SQL SELECT查询的字段即为API返回参数,支持通过AS返回别名。 WHERE条件中的参数为API请求参数,脚本方式下参数格式为${参数名},MyBatis方式下参数格式为#{参数名}。 专享版数据服务支持返回总条数,开启后可返回取值脚本执行结果数据的总条数。 如果单个参数需要传多个值时,写法如下: 字符串:'a','b','c' 数值:1,2 字段:a,b,c 添加排序参数。 在排序参数列表中,单击“新建”可设置排序字段。 字段名称对外不可见,是所选的数据表中的字段,是API调用时实际访问的内容。在API查询SQL语句已编写完成且测试通过的前提下,可在“字段名称”输入框中选择排序字段。 变量可自定义,用于与字段名称关联。在“变量”输入框中输入参数名称(一般填写为参数名称即可),系统会自动修改为变量形式。 是否可选决定了调用API时此排序参数是否必选,勾选则表示此参数可以不传,可以通过排序参数描述pre_order_by的值配置是否参与排序;不勾选则此参数必传,即使排序参数描述pre_order_by的值未配置此参数,依然会参与排序。 排序方式表示了当前参数允许使用的排序形式,分为升序、降序以及自定义。自定义排序参数默认为升序排序,可通过排序参数描述pre_order_by的值进行调整;而升序或降序的排序参数,不支持通过pre_order_by的值调整排序方式,如果pre_order_by的值与此处设置排序方式不符,则会导致配置调试或调用报错。 多个排序参数时,表示当第一个排序参数相等时,再逐一用后续排序参数去排序。与配置方式不同的是,参数的排序顺序与添加排序字段的先后无关,而是需要通过SQL脚本自定义,并且不支持通过排序参数描述pre_order_by的值进行调整。 注意,脚本/MyBatis API的排序字段必须要使用ORDER BY添加到SQL语句中,才能使该排序参数生效,单击可将排序参数添加到SQL语句。添加ORDER BY参数时,关联字段名即可,多个排序字段的先后顺序由脚本定义,不支持在脚本中通过ASC或DESC设置顺序或降序方式。SQL语句中未添加的排序参数即使在排序参数描述pre_order_by的值中定义,排序也不会生效。 例如,需要在用户表中根据用户ID查询用户信息,先后通过age和kk两个字段排序,页面大小pageSize为10、页码pageNum为2时,脚本样例如下。 SELECT * FROM userinfo WHERE id=${userid} order by ${age},${kk} LIMIT 10 OFFSET 10 图4 添加排序参数 脚本编辑完成后,单击脚本编辑窗口下方的“测试SQL”,填写入参值和排序参数描述pre_order_by的值,执行验证是否能返回预期结果。 pre_order_by的默认值已由系统根据已配置的所有排序参数给出,自定义排序默认为升序。排序参数描述pre_order_by的值填写形式为“排序参数参数名:ASC”或“排序参数参数名:DESC”,其中ASC表示升序,DESC表示降序,多个排序参数描述以“英文分号”进行分隔。勾选“是否传值”后,测试结果将按照pre_order_by的值排序。 对于pre_order_by的值,您可以进行如下修改: 删掉某可选的排序参数,则此排序参数不再参与排序。 修改自定义排序方式的排序参数为升序或降序方式,则此排序参数按照修改后的排序方式排序。 pre_order_by的值,不支持进行如下修改,否则会修改不生效或导致调用报错。 删掉某必选的排序参数,则此排序参数依然会正常参与排序,删除不生效。 调整排序参数的前后顺序,则排序依然以SQL中的排序参数顺序为准。调整不生效。 修改升序或降序的排序参数为其他排序方式,则会调用失败,不允许修改。 如果测试失败,可在“预览SQL”页签下查看实际运行的SQL语句是否符合预期,或者通过“日志”页签查看报错信息。 图5 测试SQL 单击“下一步”,进行API测试页面。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格