如何通过RestTemplate在头文件中使用自定义参数发送POST请求
我需要使用自定义参数(“data”包含路径)发送post请求,并将内容类型设置为text / plain.我查看了大量类似的问题,但没有一个解决方案有帮助.
该方法应列出此目录中的文件.
我的代码是
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 …
提前致谢.
...全文
相关推荐
http、restTemplate请求资源(含带头部信息)
Get请求、Post请求、带头部的GET请求、带头部的POST请求
解决 Spring RestTemplate post传递参数时报错问题
本文详解说明了RestTemplate post传递参数时报错的问题及其原由,需要的朋友可以参考下
精讲RestTemplate,POST请求方法使用详解.docx
其实POST请求方法和GET请求方法上大同小异,RestTemplate的POST请求也包含两个主要方法: postForObject() postForEntity() 二者的主要区别在于,postForObject()返回值是HTTP协议的响应体。postForEntity()返回的是ResponseEntity,ResponseEntity是对HTTP响应的封装,除了包含响应体,还包含HTTP状态码、contentType、contentLength、Header等信息。
java中使用restTemplate发送http请求
java中使用restTemplate发送http请求,内涵post和get方法,单例模式,开箱即用
HttpClient模拟get,post请求并发送请求参数(json等)
NULL 博文链接:https://javasam.iteye.com/blog/2117845


其他技术讨论专区

