如何阻止 HTTPBuilder 解析特定的内容类型,如 application/json

韩国工业协会

我正在HTTPBuilder为一个非常通用的 api使用 groovy ,它不仅处理 json。因此,我想自己控制如何反序列化响应。然而,响应处理程序似乎总是将内容类型解析application/json为映射。我怎样才能获得纯文本(或字节 [])?

        def lambda = new HTTPBuilder(lambdaUrl)
        lambda.request(method) {
            send contentType, payload

            response.success = { resp, reader ->
                if (log.isDebugEnabled())log.debug("response: $resp")
                lambdaResponseStatus = resp.statusLine.statusCode
                lambdaResponse = Reader.isAssignableFrom(reader.getClass()) ? reader.text : reader.toString()
            }
        }

请注意,这reader.toString()基本上是在 LinkedHashMap 上调用 toString。但我真正想要的只是普通读者,无论我在响应中得到什么内容类型。

韩国工业协会

不确定这是否有一些不需要的副作用,但最终解决方案就像将所需的内容类型作为请求的一部分传递一样简单。

lambda.request(method, ContentType.BINARY)
...
response.success = { resp, reader -> reader.bytes }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Groovy的HTTPBuilder,如何设置超时

来自分类Dev

Groovy HTTPBuilder在解析有效的json时产生错误

来自分类Dev

如何使用Groovy HTTPBuilder RESTClient构建HTTP帖子

来自分类Dev

如何在 Java 中为 HTTPBuilder 设置 logging.properties

来自分类Dev

如何阻止内容折叠?

来自分类Dev

如何阻止特定的主机

来自分类Dev

如何使用Apache阻止特定的URL类型?

来自分类Dev

如何使用Apache阻止特定的URL类型?

来自分类Dev

如何阻止内容溢出容器

来自分类Dev

如何阻止特定的HTTPS流量?

来自分类Dev

Groovy中如何在HttpBuilder请求主体中发送XML数据

来自分类Dev

Groovy中如何在HttpBuilder请求主体中发送XML数据

来自分类Dev

HTTPBuilder查询参数

来自分类Dev

如何阻止Nautilus创建特定文件类型的缩略图?

来自分类Dev

如何阻止来自特定站点的特定cookie

来自分类Dev

如何阻止访问内容控件 - 打开 xml

来自分类Dev

如何阻止下拉菜单下推内容?

来自分类Dev

如何阻止Proguard删除返回类型?

来自分类Dev

如何阻止Proguard删除返回类型?

来自分类Dev

如何阻止文件过分简化文件类型?

来自分类Dev

如何阻止精灵从特定表面弹起

来自分类Dev

如何阻止Nexus中的特定Maven工件

来自分类Dev

如何阻止主机文件中的特定域?

来自分类Dev

如何使用.htaccess阻止特定图像?

来自分类Dev

如何阻止主机文件中的特定域?

来自分类Dev

如何阻止特定的弹出窗口打开?

来自分类Dev

如何阻止鱿鱼记录某些特定的URL?

来自分类Dev

sqlalchemy:如何阻止对特定列的更新

来自分类Dev

如何阻止特定python包的导入?