我尝试通过Azure APIM接收请求时遇到问题。仅当我发送包含单词“runtime”的JSON正文时才会出现此问题,例如:
{
"id": 1,
"company_name": "runtime something"
}
字符串
我跟踪了请求,当它试图到达API后端时,发生了一些事情,整个API后端重新启动。请求没有到达后端。我认为这是Azure/APIM部分的安全措施,但我不确定。
问题是:我们必须接收这个“runtime”字符串,因为它是客户端公司名称的一部分。
奇怪的是,它只发生在APIM中。如果我们尝试通过后端的IP发送相同的JSON,它就可以工作。
我们找到了一个解决方案,但这不是我们想要为每个端点做的。我们不是要求一个具有所有必需字段的类,而是要求一个通用对象,然后在控制器内,我们尝试将其转换为我们之前期望的类。
后端使用C#,并在Azure容器上运行。
有人能帮帮我们吗?
谢谢
1条答案
按热度按时间ddrv8njm1#
我创建了一个Http触发函数并导入到APIM。
此函数需要在请求体中或作为查询参数的参数。
我正在APIM中测试该功能,如下所示-
请求没有到达后端。我认为这是Azure/APIM部分的安全措施,但我不确定。
在这里,我传递名称为
runtime something
,并得到预期的结果。AFAIK,APIM没有阻止runtime
关键字。