Spring RestTemplate postForObject的大小是否有限制?
例如,如果帖子url为: {stime}&etime=${etime}&bpf=${bpf} 那么我们可以这样做:Spring RestTemplate postForObject的大小是否有限制?,spring,resttemplate,Spring,Resttemplate,例如,如果帖子url为: {stime}&etime=${etime}&bpf=${bpf} 那么我们可以这样做: Map<String, String> vars = new HashMap<String, String>(); vars.put("bpf", bpf); ... responseString = restTemplate.postForObject(url, null, String.class,vars); Map vars=newhashmap
Map<String, String> vars = new HashMap<String, String>();
vars.put("bpf", bpf);
...
responseString = restTemplate.postForObject(url, null, String.class,vars);
Map vars=newhashmap();
可变投入(“bpf”,bpf);
...
responseString=restemplate.postForObject(url,null,String.class,vars);
如果bpf是一个字符串,那么bpf的大小有限制吗?它可以是任何尺寸吗?不幸的是,答案是:“这取决于” 更准确地说:当您将
bpf
作为参数附加到URL时,无论您是在执行POST还是GET,这都无关紧要。有时,服务器将处理的URL的长度会受到限制,但这取决于服务器接受的内容,并且不能从作为客户端的RestTemplate中确定
例如,如果您向其发送REST请求的服务器是tomcat,那么对于tomcat 6.0或更高版本,完整头(URL、HTTP头等)的最大值默认为8kB;见例
以防万一,如果您也可以控制服务器端,您可以通过不将bpf
作为参数发送,而是作为请求主体发送来更改预期的接口,如:
Map<String, String> vars = new HashMap<String, String>();
// vars.put("bpf", bpf); <--- not needed
responseString = restTemplate.postForObject(url, bpf, String.class, vars);
Map vars=newhashmap();
//可变投入(“bpf”,bpf) 不幸的是,答案是:“视情况而定”
更准确地说:当您将bpf
作为参数附加到URL时,无论您是在执行POST还是GET,这都无关紧要。有时,服务器将处理的URL的长度会受到限制,但这取决于服务器接受的内容,并且不能从作为客户端的RestTemplate中确定
例如,如果您向其发送REST请求的服务器是tomcat,那么对于tomcat 6.0或更高版本,完整头(URL、HTTP头等)的最大值默认为8kB;见例
以防万一,如果您也可以控制服务器端,您可以通过不将bpf
作为参数发送,而是作为请求主体发送来更改预期的接口,如:
Map<String, String> vars = new HashMap<String, String>();
// vars.put("bpf", bpf); <--- not needed
responseString = restTemplate.postForObject(url, bpf, String.class, vars);
Map vars=newhashmap();
//可变投入(“bpf”,bpf);