gpt4 book ai didi

java - 根据请求禁用 Jersey Provider

转载 作者:行者123 更新时间:2023-12-01 15:21:03 25 4
gpt4 key购买 nike

目前我已经注册了Gson Provider这是正确的每当我的请求消耗或生成 json 时就会使用。

问题是我有一个请求需要 Post 数据作为要么 byte[], InputStream, Reader, or String .

我需要“原始”数据的原因是我有一些第三方代码它希望自己进行反序列化。

无论我指定我期望的 Post 方法是这四种类型中的哪一种,GsonReader 会提示,这是正确的。

Expected a string but was BEGIN_OBJECT

根据类型的不同,会出现不同的错误,但这一切都归结为事实上,我不希望这个 Provider/MessageBodyReader 运行。

此外,我无法控制发布数据的 Accept 和 Content-type header 。它们将是 application/json。

最佳答案

您可以在过滤器中“修改”请求的接受/内容类型 header 。因此,如果有任何方法可以识别出对于此请求,您不想使用 GSON,则可以编写一个修改 header 的 ContanerRequestFilter。

如果使用 GSON 提供程序取决于请求匹配的方法,您可以实现 ResourceFilterFactory,它仅针对适用的方法应用(返回)ContainerRequestFilter(将内容类型 header 修改为 json 以外的内容)(您可以甚至引入自定义注释,用它注释此类方法,并且仅当传递给它的方法用该注释注释时,resourcefilterfactory 才返回容器请求过滤器。

以下是相关链接:

关于java - 根据请求禁用 Jersey Provider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com