如何在Azure中使用自定义代码创建API?

问题描述 投票:0回答:1

我可以创建一个具有两个数字之和的定义的API,并将输出返回给我。我想在Azure Web API Management本身中编写所有逻辑。是否有任何规定,或者我是否需要在我的计算机中创建它并将其导入Azure Web API Management?

是否可以在Azure本身的Web API中创建它,而不是导入它?

azure-api-management
1个回答
1
投票

有两种方法可以解决这个问题。 APIM支持策略表达式:https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions这允许您将任意代码插入请求处理管道。您可以在此处查看政策示例:https://docs.microsoft.com/en-us/azure/api-management/policy-samples以查看此操作。当与其他政策结合使用时,它确实可以帮助您完成很多事情。如果我们假设您“添加”操作的URI模板为/ add?a = {a}&b = {b},那么您可以总结并返回一个简单策略的结果:

<return-response>
    <set-status code="200" reason="OK" />
    <set-body>@{
        var a = int.Parse(context.Request.Url.Query.GetValueOrDefault("a", "0"));
        var b = int.Parse(context.Request.Url.Query.GetValueOrDefault("b", "0"));
        return (a + b).ToString();
    }</set-body>
</return-response>

正如您所看到的,这是一个非常常规的C#代码,但它在您可以执行的操作以及可以使用的类型方面受到限制(请参阅第一个链接)。如果您无法在这些限制范围内工作,最好的办法是将自定义逻辑移到APIM之外,例如,移动到Azure Functions。

© www.soinside.com 2019 - 2024. All rights reserved.