问题标签 [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.
httpbuilder-ng - HttpBuilder bg 在失败时失去身体
我正在使用HttpBuilder-NG。出错时,我收到来自服务器的以下响应。
{
"error": "JsonError",
"param": {
"obj.instructorId": [
{
"msg": "Instructor Not Found",
"args": []
}
]
}
}
但是 HttpBuilder 正在失去身体。fromServer 对象将作为....
错误处理的代码是
httpbuilder-ng - 如何在 HttpBuilder-NG 中配置日志记录以查看来回的内容
我正在探索使用 HttpBuilder-NG 来执行 REST 调用。我的第一次尝试只是给了我一个带有回溯的 groovy.net.http.HttpException。没有其他细节。使用以前的 HttpBuilder,我能够打开日志记录以查看发送和接收的内容。
代码非常简单:
httpbuilder-ng - 在 HttpBuilder-NG 中添加基本授权请求拦截器的正确方法
我正在尝试将一些旧式 Groovy HttpBuilder 代码转换为 HttpBuilder-NG。我必须以旧方式做的一件事是添加请求拦截器来处理基本授权。这就是我在旧的 HttpBuilder 中的做法
在HttpBuilder-NG中应该怎么做?(是的,我一直在阅读用户指南)。
2017 年 5 月 16 日更新
我问是因为使用 ApacheHttpBuilder 它在日志中得到了这个。
我能够使用带有请求拦截器的旧 HttpBuilder 来处理基本身份验证。
multipartform-data - httpbuilder-ng multipart/form-data 与大型应用程序/压缩部分
当尝试使用 httpbuilder-ng apache 实现版本 0.16.1 通过 multipart/form-data 上传大型 zip 时,我得到
org.apache.http.ContentTooLongException:内容长度太长:109370 at org.apache.http.entity.mime.MultipartFormEntity.getContent(MultipartFormEntity.java:103) at groovyx.net.http.ApacheEncoders.multipart(ApacheEncoders.java :74)
没关系,因为 zip 相当大,没有理由在缓冲区和 ByteArray[ Input | 输出]流,问题是我如何实际将多部分发送到连接的输出流?我试图自定义编码器,但 ToServer 只公开了一种接受 InputStream 的方法,这对我来说真的不起作用
这是我正在做的一个片段
groovy - 基本身份验证 http-builder-ng
基本身份验证不适用于 http-builder-ng - ng 未传递授权请求?
构建.gradle
GetD2LUserBySourcedIdSpec.groovy
http日志:
post - httpbuilder-ng 尝试发布时没有方法 multipart() 的签名
我几乎完全按照 HttpBuilder-NG 示例中列出的方式实现了这段代码,但它对我不起作用。由于某种原因,它不将多部分识别为一种方法。来自库创建者的示例https://http-builder-ng.github.io/http-builder-ng/asciidoc/html5/#_multipart
groovy - 如何为 GET 请求转义 URI 中的“/”?
我正在尝试使用 Groovy 编写对我们 GitLab 服务器的 GET 请求的脚本以检索文件。API URI 格式为:
请注意,命名空间和 repo 之间有一个编码的“/”。最终的 URI 需要如下所示才能正常工作:
https://githost/api/v4/projects/mynamespace%2Fmyrepo/files/myfile.json?ref=master
我有以下代码:
但是,%2F 被重新编码为 %252F。我已经尝试了多种方法来尝试创建 URI,以便它不会在命名空间和 repo 之间对 %2F 进行编码,但我无法得到任何工作。它要么重新编码“%”,要么将其解码为文字“/”。
如何使用 Groovy + http-builder-ng 以保留编码的“/”的方式设置 URI?我已经搜索但找不到任何有效的示例。
谢谢!
groovy - httpbuilder-ng 线程中的 HttpBuilder 是否安全?
我想在我的应用程序中配置一个带有一些标准标头的 HttpBuilder 实例,并允许该实例被多个线程使用。这有什么问题吗?
httpbuilder-ng - 步骤定义的 HttpBuilder-NG 基本身份验证问题
我在使用 Gradle、Groovy 和 Junit 为 Cucumber 功能步骤定义实现 HttpBuilder-NG 基本身份验证时遇到问题。我已经使用 Behat/PHP 成功地实现了这个步骤定义。我还使用 Postman 验证了测试。
这是 build.gradle 文件
github API /user/repos 路径需要身份验证才能检索用户的存储库信息,但 Get 正在返回未经授权的异常。如果我省略了路径,我会成功,但基本 URL 不需要身份验证。这是 Groovy 代码:
这是我得到的例外(401):
rest - 如何使用 HttpBuilder-ng 解析成功或抛出错误
我正在为我的 java 应用程序构建一个 groovy rest 客户端,以用于测试自动化。我最初在 httpBuilder 中编写了服务,但不知道如何解析响应。在非 200 响应中,我得到了一个异常,我可以在消息中捕获并断言。未找到、错误请求等。更新后,我可以解析响应,但每当我收到非 200 响应时,它都会尝试将其解析为我的对象,然后抛出一个无用的“missingProperty”异常。该文档显示了如何使用 , 解析响应response.parser <CONTENT_TYPE>, { config, fs ->...}
,以及如何使用response.success{fs -> ...}
, or对状态代码进行分支response.when(<CODE>){fs -> ...}
,但不显示如何仅解析成功并使用不同的逻辑来解析失败。我目前的代码如下:
然后我的 spock 测试:
在旧版本下,第一次测试失败,第二次测试通过。在新版本下,第一次测试通过,第二次测试失败。我也从来没有真正看到过这request failed:...
条消息。我刚得到一个groovy.lang.MissingPropertyException
。当我逐步完成时,我可以看到它试图将not found
响应加载为 Car 对象。
奖励:为什么我必须使用显式属性映射而不是像文档中那样的常规转换?
更新 - 为澄清起见,这不是我的实际来源。我遇到了在 WAS 上运行的专有内部 API,我无法完全控制它。我正在编写 API 的业务逻辑,但正在使用我无权访问的 WAS 和专有库对响应进行编组/解组。名称已更改以保护无辜者/我的工作。这些是我自最初发布以来尝试过的解决方法:这会在非 200 响应上正确触发故障块,但解析失败并IO - stream closed
出现错误。此外,我在失败块中抛出的任何异常都会包装在 RuntimeException 中,这会阻止我访问信息。我已经尝试按照文档中的建议将它包装在一个传输异常中,但是当我得到它时它仍然是一个 RuntimeException。
这个在 200 个带有条目的响应上正确解析,200 个没有条目的响应仍然抛出缺少属性异常。与前面的 impl 一样,AutomationException 被包装,因此没有用处。
关于奖金,我遵循的指南显示了将json(config, fs)
输出隐式转换为 Car 对象。我必须明确设置新对象的道具。没什么大不了的,但这让我想知道我是否错误地配置了其他东西。