我正在用Java编写一个简单的客户端,以允许可重用通过RESTful
API访问的专有病毒扫描软件。要上传文件以扫描API,需要先使用POST
Connect(连接),然后再要求将POST
文件发布到服务器。在对Connect的响应中,POST
服务器设置了cookie,随后将需要cookie
POST
来发布文件。我当前RestTemplate
在客户端中使用Spring 。
我的问题是我如何访问响应中的cookie,以便随后将其转发回服务器POST
?我可以看到它们存在于返回的标头中,但是没有ResponseEntity
访问它们的方法。
RestTemplate
有一个方法,您可以在其中定义Interface
ResponseExtractor<T>
,此接口用于获取响应的标头,一旦有了它们,就可以使用发送回来HttpEntity
并再次添加。
.add("Cookie", "SERVERID=c52");
尝试这样的事情。
String cookieHeader = null;
new ResponseExtractor<T>(){
T extractData(ClientHttpResponse response) {
response.getHeaders();
}
}
然后
HttpHeaders headers = new HttpHeaders();
headers.add("Cookie", cookieHeader );
ResponseEntity<byte[]> response = restTemplate.exchange("http://example.com/file/123",
GET,
new HttpEntity<String>(headers),
byte[].class);
我正在使用获取对象。但是当我在客户端运行Main时出现错误,请告诉我如何修复它??? 线程“main”org.springframework.http.converter.httpMessageNotreadableException:无法读取JSON:无法将edu.java.spring.service.user.model.user实例反序列化出START_ARRAY令牌[source:sun
例外情况: 原因:java.net.connectException:拒绝连接:在org.springframework.web.client.resttemplate.doexecute连接(resttemplate.java:359)
我想知道以下问题的答案: 1)如果Ignite服务器重新启动,我需要重新启动客户端(web应用程序)。是否有任何方法可以在服务器重新启动时重新连接到服务器。我知道当服务器重新启动时,它分配了一个不同的ID,因此当前现有的连接变得过时。是否有方法克服这个问题,如果是的话,哪一个版本的Ignite支持这个功能。目前我使用1.7版本 3)如果我有一个大对象要缓存,我发现序列化和反序列化在Ignite中需
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se
我正在尝试使用spring restTemplate将MultipartFile列表发布到我的RestController中,尽管我对客户机和控制器使用的确切语法和类型有点困惑。以下是我根据我所做的研究得出的结论... FileUploadClient.java 如果我没理解错的话。multipart筛选器应该将我的MultiValueMap解析为MultipartFiles列表和MultiPar
后端 这是来自领域设置