对于 REST,SOFAStack 支持 JAXRSProviderManager 管理器类,您可以根据这个管理器类自定义 Filter。
JAXRSProviderManager 管理器类在服务端生效,生效时间为服务启动时。接口如下:
com.alipay.sofa.rpc.server.rest.RestServer#registerProvider
对于您自定义的 Filter 类,可以在初始化完成后,调用如下类进行注册。
com.alipay.sofa.rpc.config.JAXRSProviderManager#registerCustomProviderInstance
其中,自定义的 Filter 遵循 REST 的规范,需要实现如下接口:
javax.ws.rs.container.ContainerResponseFilter
或者
javax.ws.rs.container.ContainerRequestFilter
REST server 启动之后,对于裸 SOFARPC 的使用,您需要先注册,再启动服务。对于 SOFABoot 环境下的使用,也是类似的过程,具体的写法可以参考如下示例:
com.alipay.sofa.rpc.server.rest.TraceRequestFilter
com.alipay.sofa.rpc.server.rest.TraceResponseFilter
文档内容是否对您有帮助?