通过 JSAPI 调用 MGS RPC 接口向服务端发送 POST 请求时,如何将参数放到 POST Body 中

问题描述

H5 应用需要通过 JSAPI 调用移动网关 API 接口,该接口在业务侧是一个 POST 类型的 API。用户缺少如何在 H5 端构造 POST 请求的操作指示。

服务端配置

业务侧 API 描述

假设业务侧 API 描述如下:

POST /api/product
{
  "id": 0,
  "productName": "Mask"
}

该 API 接收一个 POST 请求,需要在 POST Body 中带上 idproductName 两个参数。

数据模型配置

根据 API 的描述,首先创建好 POST Body 中的数据模型。

在 mPaaS 控制台中,依次单击 移动网关 > 数据模型 > 创建数据模型,按照描述,构造模型。

配置网关 API

进入 后台服务 > 移动网关 > API 管理 > 创建 API 页面,完成以下操作:

  1. 按需修改 API 基础信息。

  2. 配置请求参数,请求 Body 类型为上述步骤中定义的数据模型;返回值和报文类型可按需配置。

H5 端调用

通过 JSAPI 发送请求时需要把 POST Body 的内容作为_requestBody的值放在 requestData 参数中,参见下面的示例:

window.AlipayJSBridge.call('rpc', {
         operationType: 'com.mpaas.addProduct',
         requestData: [
         {"_requestBody":"{\"id\":\"1\",\"name\":\"mask\"}"}],
         headers:{},
         getResponse: true
       }, function(data) {
         alert(JSON.stringify(data));
       });