gpt4 book ai didi

java - 在请求正文中发送原始数据

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:05 25 4
gpt4 key购买 nike

我遇到了以原始文本形式发送请求正文(不带引号)的问题。

请求的内容类型应为text/uri-list

在 Postman 中发送它可以正常工作,但是当我尝试在 java 中实现相同的操作时,它不起作用。

我使用 feign 作为 API 客户端。

端点的客户端定义如下所示

@RequestLine("PUT /someEndpointOne/{id}/someEndpointTwo")
@Headers("Content-Type: text/uri-list")
JSONObject addSomethingToSomething(@Param("id") String id, @RequestBody okhttp3.RequestBody uri);

我在测试中使用它,如下所示:

somethingClient.addSomethingToSomething("1", okhttp3.RequestBody.create(okhttp3.MediaType.parse("text/uri-list"), "http://localhost/someEndpointTwo/1"))

它实际上发送的是空对象,而不是发送原始数据:

PUT http://localhost/someEndpointOne/1/someEndpointTwo HTTP/1.1

Content-Type: text/uri-list

Content-Length: 2

{}

END HTTP (2-byte body)

什么原因导致不良响应。

如果您能帮助解决此问题,我将不胜感激。

最佳答案

以下内容对我有用:

@PutMapping(path = "/someEndpointOne/{id}/someEndpointTwo", headers = "Content-Type=text/uri-list")
JSONObject addSomethingToSomething(@PathVariable("id") String id, @RequestBody okhttp3.RequestBody uri);

其中@PutMapping来自org.springframework.web.bind.annotation.PutMapping@PathVariable来自org.springframework.web.bind.annotation.PathVariable

关于java - 在请求正文中发送原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53853858/

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