文档首页 > > API参考> 如何调用API

如何调用API

分享
更新时间: 2019/06/06 GMT+08:00

BCS的API符合RESTful API设计理论。REST从资源的角度观察整个网络,分布在各处的资源由URI(Uniform Resource Identifier)确定,客户端的应用通过URL(Uniform Resource Locator)获取资源。

URL的一般格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。

接口采用HTTP传输协议,请求/响应报文使用JSON报文,媒体类型表示为Application/json。

REST API请求/响应对可以分为五个部分:

  • 请求URI
  • 请求消息头
  • 请求消息体
  • 响应消息头
  • 响应消息体

请求URI

请求URI由如下部分组成。

{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}

尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所有我们在此单独拿出来强调。

表1 URI中的参数说明

参数

描述

URI-scheme

表示用于传输请求的协议。BCS的API都必须采用https。

Endpoint

指定承载REST服务端点的服务器IP以及端口,IP可以从已购买区块链服务列表指定服务操作列“更多>服务信息”中获取。端口目前固定是32621。

resource-path

资源路径,也即API访问路径。目前只有链码调用API,path固定为/v1/chaincode/operation。

Query string

目前没有使用。

请求消息头

请求消息头包含如下两部分。

  • HTTP方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。BCS的链代码REST API支持的方法如下所示。
表2 HTTP

方法

说明

PUT

请求服务器更新指定资源。

  • 链码REST API自定义了一些消息头,请见下表。
表3 自定义消息头

名称

描述

是否必选

x-bcs-signature-sign

链码调用请求消息体签名

x-bcs-signature-method

加密类型,目前固定是SW

x-bcs-signature-sign-gzip

Sign是否选择Gzip压缩。0表示否,1表示是。

说明:

x-bcs-signature-sign:为了保证只允许有权限的调用端才能够进行合法的链码调用,需要使用下载用户证书章节中下载的用户私钥以ECDSA椭圆曲线的加密方式对整个请求消息体的SHA256摘要进行加密签名,x-bcs-signature-sign值即为签名结果。

请求消息体

请参见API说明章节。

响应消息头

HTTP状态代码,从2xx成功代码到4xx或5xx错误代码。 或者,可以返回服务定义的状态码,如API文档中所示。

响应消息体

响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。

发起请求

共有如下方式可以基于已构建好的请求消息发起请求,分别为:

  • cURL

    cURL是一个命令行工具,用来执行各种URL操作和信息传输。cURL充当的是HTTP客户端,可以发送HTTP请求给服务端,并接收响应消息。cURL适用于接口调试。关于cURL详细信息请参见https://curl.haxx.se/

  • 编码

    通过编码调用接口,组装请求消息,并发送处理请求消息。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区