全部产品
云市场
云游戏

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

更新时间:2020-04-28 19:24:10

问题描述

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

服务端配置

业务侧 API 描述

假设业务侧 API 描述如下:

  1. POST /api/product
  2. {
  3. "id": 0,
  4. "productName": "Mask"
  5. }

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

数据模型配置

根据 API 的描述,首先创建好 POST Body 中的数据模型,依次点击后台服务管理 -> 移动网关 -> 数据模型 -> 创建数据模型
创建数据模型
按照描述,构造模型:
构造模型

配置网关 API

依次点击后台服务管理 -> 移动网关 -> API 管理 -> 创建 API

  1. 按需修改 API 基础信息。
    基础信息
  2. 配置请求参数,请求Body类型为2.2中定义的模型,返回值和报文类型按需配置。
    参数设置

H5 端调用

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

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