gpt4 book ai didi

java - 如何通过 header 中的自定义参数通过 RestTemplate 发送 POST 请求

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:54 25 4
gpt4 key购买 nike

我需要使用自定义参数(包含路径的“数据”)发送发布请求并将内容类型设置为文本/纯文本。我查看了大量类似的问题,但发布的解决方案都没有帮助。

该方法应该列出该目录中的文件。

我的代码是

    public List<FileWrapper> getFileList() {

MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
map.add("data", "/public/");

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);

HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(
map, headers);
String url = "http://192.168.1.51:8080/pi/FilesServlet";
restTemplate.getMessageConverters().add(new FormHttpMessageConverter());
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
String response = restTemplate
.postForObject(url, request, String.class);
List<FileWrapper> list = new ArrayList<>();
for (String part : response.split("\\|")) {
System.out.println("part " + part);
list.add(new FileWrapper(part));
}
return list;
}

这是用 javascript 编写的等效工作代码:

function getFileList(direction){
$("div.file-list").html("<center><progress></progress></center>");
$.ajax({
url: "http://192.168.1.51:8080/pi/FilesServlet",
type: "POST",
data: direction ,
contentType: "text/plain"
})

未添加参数,因为请求返回空字符串,表示路径无效。预期的响应是 file_name*file_size|file_name*file_size ...

提前致谢。

最佳答案

从评论中的讨论来看,很明显您的请求对象不正确。如果您要传递包含文件夹名称的纯字符串,则不需要 MultiValueMap。只需尝试发送一个字符串,

    String data = "/public/"
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);

HttpEntity<String> request = new HttpEntity<String>(
data, headers);
String url = "http://192.168.1.51:8080/pi/FilesServlet";
restTemplate.getMessageConverters().add(new FormHttpMessageConverter());
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
String response = restTemplate
.postForObject(url, request, String.class);

关于java - 如何通过 header 中的自定义参数通过 RestTemplate 发送 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346255/

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