我正在使用 Jersey 构建一个 RESTful 服务来替换现有的遗留服务。
旧式请求格式要求身份验证凭据在 POST 请求的正文中传递。这使得在将请求传递给 Jersey 之前验证请求(使用 Spring 安全性)变得很尴尬,因为必须读取 POST 主体以提取身份验证凭据,然后在移交给 Jersey 之前重新打包。
这意味着,对于每个 POST 请求,必须读取请求流,重新序列化,然后由 Jersey 再次读取MessageBodyReader
。我不喜欢这个,因为它效率低下。理想情况下,我想做的是将传入的消息转换为规范的消息格式,对其进行身份验证,然后将该规范格式传递给 Jersey。JAX-RS 似乎不支持这种事情。
有没有人建议避免重复阅读请求正文的方法?任何允许我使用自定义、规范消息格式而不是 in 的 RESTful 框架InputStream
?
谢谢!