【发布时间】:2018-10-09 09:44:22
【问题描述】:
如何使用 Java 将 yml 有效负载发送到 POST 端点。
环境
请求:
- 语言:Java
- 使用的库:泽西岛
目标(已经存在):
- REST 端点
- 输入 POST
- 有效负载内容 YAML
代码
我曾经用它来达到同样的效果:
curl --noproxy '*' -X POST --header 'content-type: application/x-yml' --data-binary @file.yaml --url "http://my.yaml.endpoint.com"
我尝试过这样的事情:
private Client client;
private ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
YMLPayload yml= null;
try {
yml = mapper.readValue(yml, YMLPayload.class);
} catch (IOException e) {e.printStackTrace();}
Response res = client
.target("http://my.yaml.endpoint.com")
.request(/* wich mediatype? */)
.header("content-type", "application/x-yml")
.post(/* how to transform the data? */);
由于我对这个主题相当陌生,我可能忽略了一些东西。
【问题讨论】:
-
你面临什么问题?你有错误吗?或者您是否在询问关于可以使用的工具/方法的意见(这将是题外话)?
-
我不知道如何告诉
request,数据(YMLPayload)应该作为 yml 而不是 JSON 提交。 MediaType 不提供 YAML。而post期望一个实体反过来提供一个方法json(Object)。 -
好的,但是您尝试的结果是什么?例如,您是否只是尝试将 yml 设置为 byte[]?
-
感谢您的回复,但我没有尝试过,因为我也遇到了一些后端问题。我如何将它作为字节 [] 传递? post 是否接受 byte[] 作为其参数?不幸的是,我现在无法检查它,因为我不在工作。不过我明天试试。
标签: java rest jackson jersey yaml