如何在 WSO2 API 管理器中忽略带有无效 json 主体的 API 调用
How to Ignore API call with invalid json body in WSO2 API manager
我使用 wso2 API 管理器来发布我的一些 API。但我的问题是,如果有人发送带有无效 json 正文的 API 请求,它是否能够忽略该 API 调用并向被请求的人提供一些错误消息而不发送该无效 json body 到后端。
API 管理器版本:1.7
这是不正确的 json 请求(尝试发送没有价值的 "moduleCode")
{
"event": {
"portalType": "dfd",
"moduleCode": ,
"role": "3",
"roleCode": "dfdf",
"languageID": "gd",
"password": "dfdfgd",
"phoneNumber": "2332323",
"resourceCode": [
"8045005"
]
}}
是否可以通过上述 json 中的角色值来限制用户?
如何使用 API Manager 2.0 实现这一目标?
没有任何预定义的方法可以实现此要求。但是,您可以自定义 WSO2 API 管理器来满足此要求。
您可以编写自定义处理程序来验证请求正文和 return 响应(如果请求有错误而不是发送到后端)。您可以查看 here 如何为 API Manager 2.0 编写自定义处理程序。
即将到来的请求将由消息生成器[1]转换为 SOAP 格式。将根据传入的内容类型选择此消息生成器message.You可以为 [=16= 编写您自己的消息生成器] 并验证输入。例如 [2]
[1]https://docs.wso2.com/display/ESB481/Working+with+Message+Builders+and+Formatters
[2]https://github.com/anuruddhal/WSO2-ESB-Custom-Message-Builder/tree/master/CustomBuilder
您可以在 "How to validate JSON request payload in API Manager" 上参考这篇文章。这正是您的用例的地址,您唯一需要做的就是添加 XSD 以匹配您的请求。在 API Manager 中,如果您需要验证请求或预处理消息,它始终建议使用产品提供的中介扩展。
我使用 wso2 API 管理器来发布我的一些 API。但我的问题是,如果有人发送带有无效 json 正文的 API 请求,它是否能够忽略该 API 调用并向被请求的人提供一些错误消息而不发送该无效 json body 到后端。 API 管理器版本:1.7
这是不正确的 json 请求(尝试发送没有价值的 "moduleCode")
{ "event": { "portalType": "dfd", "moduleCode": , "role": "3", "roleCode": "dfdf", "languageID": "gd", "password": "dfdfgd", "phoneNumber": "2332323", "resourceCode": [ "8045005" ] }}
是否可以通过上述 json 中的角色值来限制用户? 如何使用 API Manager 2.0 实现这一目标?
没有任何预定义的方法可以实现此要求。但是,您可以自定义 WSO2 API 管理器来满足此要求。
您可以编写自定义处理程序来验证请求正文和 return 响应(如果请求有错误而不是发送到后端)。您可以查看 here 如何为 API Manager 2.0 编写自定义处理程序。
即将到来的请求将由消息生成器[1]转换为 SOAP 格式。将根据传入的内容类型选择此消息生成器message.You可以为 [=16= 编写您自己的消息生成器] 并验证输入。例如 [2]
[1]https://docs.wso2.com/display/ESB481/Working+with+Message+Builders+and+Formatters [2]https://github.com/anuruddhal/WSO2-ESB-Custom-Message-Builder/tree/master/CustomBuilder
您可以在 "How to validate JSON request payload in API Manager" 上参考这篇文章。这正是您的用例的地址,您唯一需要做的就是添加 XSD 以匹配您的请求。在 API Manager 中,如果您需要验证请求或预处理消息,它始终建议使用产品提供的中介扩展。