0

我想在不使用连接器的情况下创建自定义 API。我想提供我的数据,然后想通过自定义 API 在移动设备中访问它们。

"getLIST": {
  "PendingList": [
    {
      "TRANSACTION_ID": "1612342887",
      "TRANSACTION_STEP_ID": "2344",
      "SIT_NAME": "Certificate Request",
      "PERSON_ID": "3435",
      "FROM_USER": "Rahul",
      "STATUS": "Pending",
      "FUTURE1": null,
      "FUTURE2": null,
      "FUTURE3": null,
      "FUTURE4": null,
      "FUTURE5": null
    },{
      "TRANSACTION_ID": "161234887",
      "TRANSACTION_STEP_ID": "143234840",
      "SIT_NAME": "Certificate Request",
      "PERSON_ID": "3436",
      "FROM_USER": "Sashanka",
      "STATUS": "Pending",
      "FUTURE1": null,
      "FUTURE2": null,
      "FUTURE3": null,
      "FUTURE4": null,
      "FUTURE5": null
    },
]
}

如果我提供上述 JSON 有效负载作为响应,并通过此自定义 api "/mobile/customtest/getLIST/PendingList?PERSON_ID=3435" ,我可以获得详细信息

可能吗??

4

3 回答 3

0

绝对地!关注此处的文档和此处的视频。虽然,是的,我们通常使用自定义 API 通过连接器充当另一个服务调用的包装器,您不必这样做,如果您只想返回固定/静态有效负载,您可以将其添加为响应GET 调用。

但是 - 如果您希望搜索数组等,那么这是更多的工作,应该在服务中完成 - 因此需要一个连接器。

此处的说明:添加基础知识(API 名称、消息媒体类型和简要说明)。

通过设置资源和至少一种方法来定义端点。

设置访问安全。

在您定义至少一个资源后测试您的端点。要完全完善您的 API,请使用 API Designer 来帮助您添加基本组件以获得强大的 API:

提供 API 元数据(即 API 的基本属性,即 API 显示名称、API 名称和简短描述),或者,如果您已有包含 API 配置的 RAML 文档,则可以上传将其发送给 API Designer。所有信息(元数据、资源、方法和消息正文的模式)都从 RAML 文档中提取并加载到 API Designer 中,让您可以快速继续测试端点或编辑 API 配置。要提供有效的 RAML 文件,请参阅 RAML。

添加一个或多个根和嵌套资源。

添加方法以对资源进行操作。

创建一个模式来描述数据主体。

在设计时使用示例数据测试您的端点,并根据需要进行任何更改。

允许匿名访问您的 API 或指定哪些角色可以访问它。

为您的自定义 API 添加文档

于 2017-01-10T00:49:38.677 回答
0

如果您不想使用 MCS 连接器,请使用 MCS 提供的平台 API。您可以在 MCS 中创建表。然后使用自定义 API 从表中获取数据。

于 2017-01-10T12:53:11.860 回答
0

OP 想要实现的目标仍不清楚,但在纯粹回答有关搜索硬编码 JSON 数组并返回结果的问题时,以下代码显示了一个基于“Employees”数组的示例:

module.exports = function(service) {

    var employees = [
          {
            "id": "103",
            "username": "rbarkhouse",
            "firstName": "Rick",
            "lastName": "Barkhouse"
          },
          {
            "id": "107",
            "username": "kbrown",
            "firstName": "Karen",
            "lastName": "Brown"
          },
          {
            "id": "108",
            "username": "ldavies",
            "firstName": "Larry",
            "lastName": "Davies"
          }
        ];

    service.get('/mobile/custom/hrapi/employee', function(req,res) {
        res.send(200, employees);
    });

    service.get('/mobile/custom/hrapi/employee/:id', function(req,res) {
        var id = req.params.id;

        var employee =
            employees.filter(function(el) { return el.id == id; });

        if (employee == null) {
            res.send(404);
        } else {
            res.send(200, employee[0]);
        }
    });
  };

请注意员工数组“过滤器”函数的使用,我们传入一个匿名函数,该函数能够搜索返回匹配作为 URL 参数传入的“:id”的员工元素。

于 2017-01-12T01:21:29.837 回答