清林云BaaS的API格式

清林云BaaS的API格式

清林云BaaS(BackendasaService)有固定的API格式,我们称为TypeAPI。
API的基本HTTP结构如下:
以浏览器的fetch请求为例:
这是清林云的API约束,我们称之为TypeAPI风格,在很多场景下描述能力优于RESTful风格,开发者更容易理解。
https://[环境地域].baasapi.com/
其中[环境地域]为你使用环境的地域代码,例如:https://cn-east-1.baasapi.com/。
地域代码可在控制台概览页面的环境上方看到。
以下为所有地域代码:
另外专有云和私有云地域代码根据客户定制。
统一为POST。
清林云API设计吸收借鉴GraphQL模式,不用每次封装请求库不同方法,使用更为人类友好的声明式API,代码更易阅读。
请求内容类型统一为application/json。
携带你的环境ID和密匙ID。
注意此处Authorization,代表用户jwttoken。当请求不需要token的API时,此处可忽略,当请求需要用户登录后才能访问的API时,则要携带,是否需要token在应用的API文档中会注明。
示例:”Authorization”:”BearereyJhbGVCJ9.eyJMzEwMjF9.mXM2b6yg”(此处为删减token,实际token要更长一些)
token来自于拥有登录步骤的应用或自定义的jwt步骤加密。加密方式为userId或你自定义的字段与环境密匙的密码加密签名。也就是说,你的环境密匙密码可以用来鉴权用户token,也就是说你同样可以用使用清林云应用颁发给用户的token去请求你自己的服务器,自行使用密码来鉴权,所以千万不要泄露,以防安全风险。
appId为你要请求的应用ID,在应用详情可以看到,如下图所示:
api为你要请求的应用API,上图的getManyPost和右侧的列表都是。
version是该API的版本号,文档中有标识,如下图的版本。你可以在文档中选择不同版本查看,不同版本要求的API参数可能不一样。
版本设计是为了避免应用开发者在更新API功能时造成老版本用户和线上用户请求错误,所以当开发者为API添加新功能时,如果原有的请求参数不能实现新功能,则要创建新版本再更新功能。
这样正在使用该API的客户依然根据版本请求旧API,收到版本更新通知后更新前端业务代码能够正常使用新版本后再进行版本切换。
args为请求该API的参数。如上图所示,如需请求createPost这个API则要求请求中携带三个参数,参数为args中的字段,用途有参数名称说明,数据类型为参数字段格式,要求必须的则要将相关数据加入args才可请求。
args中有一些特殊字段在步骤ID项的Object中:
比如,getManyPost这个API中的一个步骤ID为posts,并且该API中的查询文章步骤的返回数据列选项包含由请求控制项,那么我们希望该步骤返回的数据列只包含title,则可以如下请求:
以下是S系列引擎专属字段,同样在步骤ID的对象内:
当需要特殊参数时,应用开发者一般会在文档中说明。
返回内容都是JSON格式,分别有成功和失败两种状态:
以下为各步骤类型的返回示例:
失败返回遵循最新的通用HTTP异常返回标准草案,但是更改了状态码400为200,加入了errCode项进行判断,因为在某些请求客户端下,400状态会导致一些程序异常。
其中,detail是如下字段的Json字符串:
instance是如下字段的Json字符串:
另外,还有一个步骤类型为自定义返回数据,可以自定义返回数据的格式,用于第三方特定的服务或其他个性化需求,详情请查看步骤章节。
主要有三种方式保护你的环境信息被盗用。
第一种是:大部分应用API都是需要token的,位于请求headers中的Authorization。token来自于一些提供登录功能的应用以及jwt步骤,它们将用户字段和环境密匙的密码签名,前端在登录后将token保存在用户端本地,每次请求携带即可保障用户数据的安全,清林云BaaS将会对需要token的API收到请求时进行鉴权。
Authorization的格式为:Bearertoken
第二种是:检查headers中的origin字段,虽然这在请求工具中可以设置,但是在用户浏览器中无法被篡改。当你上线产品前,请前往环境设置中,填写URL白名单,将你的域名origin加入。这样只有来自该域名的请求才会被处理。
如果headers中没有携带origin则会检查referer
在添加URL白名单时需要注意,当白名单中有*时,来源于所有地址的请求都会被接受,包括localhost。而其他的URL必须是origin格式,例如:https://www.baasapi.com,包含协议https,没有末位的/符号。http和https不兼容,如果你的网站两种协议都有,则要分别添加两个URL。
前两种方法的结合可以拒绝大部分恶意攻击。
第三种是:利用非对称加密请求内容,在环境密匙中配置加密证书私钥和加密方式,清林云在接受到请求后会用私钥解密该证书公钥加密的内容,这样可以有效保护请求安全,适用于对安全性较高的产品。
该方法暂时还未全量开放,如您有需求可以联系客服。
另外清林云BaaS也会提供默认的安全措施如防火墙、防DDoS、请求流控、同IP限制、恶意攻击识别等。
清林云和政府相关部门也有一定合作,对于恶意网络攻击行为也会进行追踪和报警处理。如果您的环境资源被攻击,请及时联系客服,我们将会配合您和相关部门进行处理。
有一些第三方业务需要发送webhook信息到你的服务器,那么作为BaaS,我们也为你解决了这方面的问题。
在第三方设置回调地址为:https://环境地域.baasapi.com/webhook/环境ID/密匙ID/应用ID/应用API/API版本/即可将请求以转发至该应用的API。
转发给该API的参数为headerspathdata对应调用该webhook地址的headerspathbody。
具体示例可以查看电商系统中的订单部分和支付部分。
fetch:
jQuery:
xhr:
axios:
OkHttp:
Unirest:
AsyncHttp:
java.net.http:
OkHttp:
NSURLSession:
NSURLSession:
NewRequest
reqwest:
request:
cURL:
HTTPv2:
http.client:
Requests:
Libcurl:
clj-http:
HttpClient:
CoHTTP:
Invoke-WebRequest:
httr:
net::http

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/13662.html

(0)
上一篇 2023年3月4日 上午2:08
下一篇 2023年3月4日 上午2:13

相关推荐

  • 字节跳动确认将自研芯片:仅供内部使用;马斯克:我已将大脑上传云端;Go 语言产品负责人离职|极客头条

    字节跳动确认将自研芯片:仅供内部使用;马斯克:我已将大脑上传云端;Go 语言产品负责人离职|极客头条 整理|梦依丹出品|CSDN(ID:CSDNnews)一分钟速览新闻点!字节跳动确认将自研芯片:仅供内部使用职场人最讨厌的Emoji表情“微笑”排到第一名腾讯看点快报App正式停运周鸿祎:脑机接口需要人脑安全卫士查杀每股不到1毛钱!魅族期权合约沦为A4纸,老员…

    RUST资讯 2023年3月11日
    20
  • 地图炮的科学依据?心理学家绘制美国人性格地图

    地图炮的科学依据?心理学家绘制美国人性格地图 近年来,西方兴起了“地理心理学”(Geopsychology)。科学家借助大数据技术,得以全面刻画大规模人群的心理与行为数据,并追踪其空间分布特性。这种地理上的人格分布特征,跟人们日常所说的地域黑、刻板印象不无关联。但是,它实际上关系到多个重要公共健康指标,具有深广的研究前景。美国心理学家近日研究了大五人格模型在…

    RUST资讯 2023年2月25日
    40
  • 几本国外历史小说,看惯了华夏历史文明,或许可以看看西洋剑客

    几本国外历史小说,看惯了华夏历史文明,或许可以看看西洋剑客 几本国外历史小说,看惯了华夏历史文明,或许可以看看西洋剑客小老弟说,不点关注的话就画个圈圈诅咒明天你追的小说就要断更了。简介:公元1469年,中美洲阿兹特克帝国极盛的年代。一个后世的灵魂穿越而来,他要拯救印第安人毁灭的命运,建立起中美洲的帝国!此时的大航海时代刚刚拉开序幕,欧洲的殖民者探索着未知的世…

    RUST资讯 2023年2月27日
    50
  • 第二届中国吉他制作大赛豪华专业评委阵容

    第二届中国吉他制作大赛豪华专业评委阵容 高君中国著名吉他艺术家、教育家,中国制琴行业的先驱和大师。同时被誉为中国指弹吉他之父。首届中国吉他制作大赛评委主席;第二届中国吉他制作大赛主席。现任中国音乐家协会吉他学会副会长,中国人民大学艺术学院客座教授,研究生导师。何青天津音乐学院古典吉他专业副教授、硕士生导师。曾多次赴澳、德、意、美、日、韩等国家参加国际吉他艺术…

    RUST资讯 2023年2月25日
    40
  • 新的Steam VAC Ban数量超过60000个账户

    新的Steam VAC Ban数量超过60000个账户 从7月17日开始,Steam已经再次开始大规模VAC封禁,这标志着Valve反作弊(VAC)系统的新记录,仅在一天内就有60,000个账户遭到封禁。新的Steam封号浪潮是我们长期以来见过的最大的一次,展示了该公司不容忍任何的作弊者。根据SteamDB的数据,在Steam封号浪潮期间,超过80,000个…

  • 货车起火疑似1.4万双Yeezy被烧?今年买不到Yeezy的你该怎么办?

    货车起火疑似1.4万双Yeezy被烧?今年买不到Yeezy的你该怎么办? 2017年11月25日,G15沈海高速公路观美至苍南服务区路段附近有一辆重型集装箱车半挂车起火,造成车辆和货物的巨大损失,初步估计直接损失将高达二、三百万(部分被附近村民拿走、部分泡水报废、部分被火烧坏)。该货车上运载的都是阿迪达斯运动鞋,价值一千多万。(via温州高速交警)今天一条1…

    RUST资讯 2023年2月27日
    30
  • 12月四六级作文最实用谚语!只用一句,能提十分!(H-K)

    12月四六级作文最实用谚语!只用一句,能提十分!(H-K) 由于之前也发过类似的谚语总结,在里面有一些重复,大家可以挑选适合自己的,如果发现有所重复的,那就证明你对那一句谚语已经混了个眼熟啦,该学会怎么写了!Habitcureshabit.新风移旧俗。Habitissecondnature.习惯成自然。Halfataleisenoughforawiseman…

    RUST资讯 2023年2月15日
    70
  • 孙经理点金:3月30日现货黄金策略组合

    孙经理点金:3月30日现货黄金策略组合 基本面:上周收盘小阳线,整体趋势看空但力度减弱,目前盘面1200仍然是一个重要关口。日线来看,金价运行于布林中轨和上轨间处于下行通道,均线系统呈空头排列,MACD死叉发散绿色动能减弱,KDJ勾头上行发散。4小时线来看,布林带向上开口但在1208处形成了较强的压力位,5日线和10日线交叉粘合形成金叉,MACD金叉向上红色…

  • Serverless:云计算的标配

    Serverless:云计算的标配 Serverless,字面意思就是不需要服务器,由Iron公司在2012年第一次提出。被大家熟知是2015年,AWS推出Lambda的时候,Lambda产品的推出开启了云计算时代,之后国内外云计算市场一片红火,微软、谷歌、IBM都推出了自己的Serverless产品,国内的阿里云和腾讯云早在2017年也推出了Serverl…

    RUST资讯 2023年2月21日
    80
  • Sysinternals 作者:是时候停用 CC++ 开发新项目并使用 Rust 了

    Sysinternals 作者:是时候停用 C/C++ 开发新项目并使用 Rust 了 出品|开源中国MicrosoftAzureCTO、Sysinternals的主要开发者MarkRussinovich在其社交账号上发布动态称,开发人员是时候停止使用C/C++来启动新项目,并建议可在需要使用non-GC语言的场景中使用Rust。“说到语言,现在是时候停止用…

    RUST资讯 2023年2月22日
    80
关注微信