Sam*_*ain 2 wso2 wso2-api-manager
对于WSO2 api管理器,处理程序和序列之间的区别或关系是什么.
我想为每个api提供一些条件.根据条件,它将检查api请求是否已通过该条件.如果我需要使用序列或处理程序,我不确定.
这个答案假设通过"序列",用户意味着"中介序列",它们通过APIManagerExtensionHandler处理程序运行(中介可以是全局的或每个API,但据我所知,它在同一个地方执行).
中介序列和处理程序都是在网关收到响应或请求后运行的代码扩展.处理程序扩展了org.apache.synapse.rest.AbstractHandler类,需要实现AbstractHandler.handleRequest和AbstractHandler.handleResponse; 调解员扩展org.apache.synapse.mediators.AbstractMediator类并需要实现AbstractMediator.mediate.
自定义处理程序和中介序列之间的主要区别在于,使用自定义处理程序要求您编写自己的Java类,然后打包并部署处理程序.如果使用预定义的调解器(由WSO2的ESB提供)组合满足您的要求,那么您可以编写XML序列来定义调解任务,而无需新代码.
根据我的经验,这里是处理程序和中介序列之间的主要区别.使用一个而不是另一个应根据您的具体要求确定.
处理程序
调解序列
简而言之:如果现有调解器的某些组合将实现您的目标,使用调解序列最有意义(即使它是"接近但不完全"的情况)编写自定义调解器可能比创建一个全新的处理程序更容易) .如果您需要更高级别的自定义或要求在执行所有其他中介之前或之后进行中介,则应考虑编写处理程序.
编辑:实际回答特定问题:您可以非常轻松地使用中介序列对请求标头中的值进行逻辑检查.如果你需要阅读正文内容,这些检查会变得有点困难......在这种情况下,自定义处理程序基本上是你唯一的选择.
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |