自定义的 API

 

Microsoft Azure 移动服务允许你在移动服务中定义一个或多个自定义 API。 自定义 API 是移动服务中的一个终结点,可通过一种或多种标准 HTTP 方法访问它:GET、POST、PUT、PATCH、DELETE。 在 JavaScript 后端移动服务中,自定义 API 脚本在门户中创建和编辑或使用该服务的 Git 存储库上载。

对于 .NET 后端移动服务,自定义 API 在 Visual Studio 项目中定义为从 ApiController 派生的类,并实现了用于返回 ApiServices 对象的 Services 属性。 在管理门户中未提供对 .NET 后端自定义 API 的支持。

在 JavaScript 后端中,可以为自定义 API 支持的每个 HTTP 方法定义单独的函数导出,并将它们全都放到一个脚本文件中。 收到使用给定方法的自定义 API 请求时,调用注册的脚本。 通过自定义 API,你可以公开未映射到插入、更新、删除或读取操作或作为计划作业的服务器功能。 通过将支持的方法的 HTTP 请求发送到采用以下常规格式的 URI 来调用自定义 API。

https://<service_name>.azure-mobile.net/api/<api_name>

若要注册 JavaScript 自定义 API,请单击“创建”按钮,选择用于调用 API 的 HTTP 方法的权限,然后单击“确定”。 将生成 POST 方法的以下默认“Hello World”实现并显示在脚本编辑器中。

exports.post = function(request, response) {
    // Use "request.service" to access features of your mobile service, e.g.:
    //   var tables = request.service.tables;
    //   var push = request.service.push;

    response.send(200, "Hello World");
};

有关如何创建和调用自定义 API 的示例,请参阅从客户端调用自定义 APIWindows 应用商店 C# / Windows 应用商店 JavaScript / Windows Phone / iOS / Android)。

在 JavaScript 后端中,自定义 API 实质上是一个 Node.js 模块,该模块公开一个或多个规范映射到 HTTP 方法的公共函数。 这些函数使用 exports 对象来公开,如上一示例中处理 POST 请求的 exports.post。 给每个导出的自定义 API 函数传递一个 request 对象response 对象。 这些对象通过 express.js 库实现,它们公开 express.js 库的 API。

在自定义 API 中,你可以从请求的 service 对象访问服务器脚本全局对象(pushtablesmssql)。 对于表操作,你可以在自定义 API 支持的每个 HTTP 方法上设置相同的权限。 对于验证了身份的客户端,你还可以基于提供的 request 对象user.userId 值,执行特定于用户的授权。

System_CAPS_note说明

服务器脚本尚未注册到自定义 API 的 HTTP 方法时,对该方法的请求返回 405 错误代码。

有关自定义 API 的详细信息,请参阅移动服务服务器脚本参考

显示: