如何在新的Azure移动应用程序中创建自定义API?

时间:2015-11-02 16:25:52

标签: azure azure-mobile-services

如何创建自定义API以使用新的移动应用程序从SQLAZURE DB获取/输出特定数据。我使用ToDoList示例应用程序查看了服务器和客户端项目。

3 个答案:

答案 0 :(得分:1)

azure-mobile-apps SDK(目前为2.0.0-alpha3)支持对INSERT上的READ和标记进行过滤。有关快速示例,请查看此处:https://github.com/Azure/azure-mobile-apps-node/tree/master/samples/personal-table - 这是一个实现身份验证的示例,并将另一个查询谓词添加到要发送到SQL驱动程序以实现个人存储的查询中。

对于稍微不同的东西,您可以使用table.read()函数回调来使用您自己的SQL语句。例如:

// Display the event stream for the specified user (using SQL)
// Note: This script has an issue in that it ignores all query parameters such as top, skip, select, where, etc.
table.read(function (context) {
    if (context.parameters.streamForUserId) {
        var statusUpdatesQuery =
            "select users.name, status_updates.message from status_updates " +
            "inner join friends on status_updates.userid = friends.friendid " +
            "inner join users on status_updates.userid = users._id " +
            "where friends.userid = ?";
        
        context.sql.query(statusUpdatesQuery, context.parameters.streamForUserId).then(function (results) {
            context.response.send(results);
        });
    } else {
        context.execute();
    }
});

答案 1 :(得分:0)

javascript和.NET示例都在这里https://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-define-custom-api/

该示例使用原始数据库查询。但实际上SQL Azure只是另一个SQL实例。您仍然可以单独使用EF或任何其他ORM包。

答案 2 :(得分:0)

查看https://github.com/Azure/azure-mobile-apps-node/tree/master/samples/customApi处的示例。

请记住,自定义API实现实际上只是标准快速路由的一个薄包装,手动挂钩等效项是非常简单的,例如:

app.use('/api/custom', function (req, res, next) { /* logic */ });

我们将提供更多教程,很快就会涵盖这些主题。