问题标签 [httpbuilder-ng]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
http - 配置httpbuilder ng的http客户端不遵循302重定向
我尝试使用 Groovy 和http-builder-ng
.
要检查每个请求的所有标头,我想关闭自动重定向。这样做http-builder
有BasicHttpParams
,但我认为BasicHttpParams
没有工作http-builder-ng
。
还有其他方法可以关闭自动重定向吗?
groovy - 试用 HttpBuilder-NG - 替换旧的 HttpBuilder 或 wslite
我正在尝试切换到 HttpBuilder-NG,但遇到了一些困难。我似乎找不到任何使用响应标头甚至响应状态代码的具体示例。旧的 httpbuilder - 具体来说是 RESTClient,这非常简单。另外,我用它来测试。这是我需要翻译成 HttpBuilder-NG 的一个例子
这在 HttpBuilder-NG 中是什么样子的?
你的评论让我走上了正轨。谢谢!我希望通过围绕 HttpBuilder-NG 创建一个包装类来避免重写数千行测试代码,这样它将返回类似于旧的 HttpBuilder/RESTClient 的对象。此外,类似的东西可以帮助那些试图摆脱 wslite 的人。到目前为止,这是我想出的,以防它对其他人有帮助:
groovy - 在 HTTPBuilder-NG 中获取成功的响应正文
我正在尝试在 Android Studio 项目的 Gradle 脚本中使用 Httpbuilder-NG。该脚本将一些文件上传到 Web 服务器进行验证,服务器以“ok”或未验证文件的名称进行响应。
我在尝试
结果总是:
Success: 200, Text is: [102, 105, 108, 101], Properties are: [class:class [B, length:4]
请注意,它是一个 4 元素数组,而不是文本字符串。无论服务器返回“ok”还是其他内容,数组都保持不变。我认识到我的服务器可能会返回一些非标准的东西,但它在 Postman 中运行良好。
我也试过
结果总是
即正文应该在的空白字符串。
fs.hasBody 返回true
任何帮助,将不胜感激。
json - 从 httpbuilder-ng 获取原始 json 字符串或客户杰克逊映射器获取请求
我正在将 groovy 脚本从httpbuilder更新为httpbuilder-ng。这些脚本与各种 Web 服务交互以获取消息。我希望最好使用杰克逊将响应解析为对象。但是,我似乎无法像在 httpbuilder 中那样获得原始 json 响应,因为在所有情况下,httpbuilder-ng 都会自动解析为惰性映射。
使用 httpbuilder 的旧实现允许您使用 body.text 方法获取原始 json 字符串,而无需将其解析为惰性映射。然后这可以与 Jackson 中的 ObjectMapper 一起使用来创建我的 POJO。但是,httpbuilder-ng 似乎不支持这一点。
我已经尝试过这里获取原始 json 的方法,但是 body.text 方法在我使用的版本 1.03 中似乎不起作用http://coffeaelectronica.com/blog/2016/httpbuilder-ng-demo。 .html _
我还尝试添加我自己的自定义编码器来覆盖 Groovy 的 JSON 对象的默认创建,但没有任何成功。据说可以在 wiki https://http-builder-ng.github.io/http-builder-ng/asciidoc/html5/中详细说明。如果有人有如何做到这一点的代码片段,将不胜感激!
旧的 httpbuilder 代码:
新的 http-builder-ng 代码:
更新
找到了解决方案。它是使用 FromServer.inputstream.text 方法添加自定义解析器和闭包。
httpbuilder - 如何从http ng-builder中提取响应为json
在浏览器中点击 URI myresourceUrl 在浏览器中显示 json 内容。
要求:需要使用httpbuilder-ng的get方法调用URI的GET,response的内容为json。
此 json 文件将作为另一个任务的输入是必需的。如何实现这一点。我们是否需要任何解析器来使用 http-builder-ng 将返回的响应作为 json 获取。
预期响应格式:{"name":"Abc","info":{"age":45,"height":"5.5"}}
我们得到的 实际格式:{name:Abc,info:{age:45,height:5.5}}
如何以预期的响应格式获得上述响应。
spock - 如何在 URL 中使用带有部分路径的 HttpBuilder?
在我的 Grails 应用程序中,我有一个包含部分 URL 路径的配置属性,如下所示:
http://apis.mycompany.com/my-api/v1/
我想使用此 URL 调用端点HttpBuilder
:
request.uri.path
擦除现有路径段:
我能够解决这个问题:
...但我无法让 Ersatzraw
在我的 Spock 测试中使用:
分配给的 URLraw
是:http://localhost:-1/resources/data
这会导致异常:
这是 HttpBuilder 中的错误,还是我做错了?帮助表示赞赏!
更新:
我以为 Ersatz 会在构建时开始,但事实证明我错了。在使用 URL 之前调用start()
修复了 -1 端口号:
现在,构建器正在获取一个看似有效的 URL:
http://localhost:52180/resources/data
...但是 Ersatz 服务器给出的消息是期望不匹配。
Ersatz 文档表明应该打印出不匹配的请求,但它只打印上面的堆栈跟踪(和 HttpNotFoundException)。
groovy - 为什么 Groovy 脚本中缺少我的库日志?
我一直在一个大型编译项目中使用 HttpBuilder-NG,并在调试时依赖它的请求和响应日志记录,但是在独立的 Groovy 脚本中使用它只会导致我的类的输出,而不是库的日志。
谁能建议如何从正在使用的 HttpBuilder-NG 库中获取我期望看到的那些日志?
这是我放在一起的快速测试场景:
对于 logback 配置:
执行时的控制台输出: