title: How to pass List or String array to getForObject with Spring RestTemplate
body: <p>I am developing some restful services with Spring. I have trouble with passing/getting string array or large string as parameters to my service controller. My code examples are like below;</p>
  
  <p>Controller:</p>
  
  <pre><code>@RequestMapping(value="/getLocationInformations/{pointList}", method=RequestMethod.GET)
  @ResponseBody
  public LocationInfoObject getLocationInformations(@PathVariable("pointList") String pointList)
  {
      // code block
  }
  </code></pre>
  
  <p>Sample point list:</p>
  
  <pre><code>String pointList = "37.0433;35.2663,37.0431;35.2663,37.0429;35.2664,37.0428;35.2664,37.0426;35.2665,37.0424;35.2667,37.0422;35.2669,37.042;35.2671,37.0419;35.2673,37.0417;35.2674,37.0415;35.2674,37.0412;35.2672,37.0408;35.267,37.04;35.2667,37.0396;35.2665,37.0391;35.2663,37.0388;35.2662,37.0384;35.266,37.0381;35.2659,37.0379;35.2658,37.0377;35.2657,37.0404;35.2668,37.0377;35.2656,37.0378;35.2652,37.0378;35.2652,37.0381;35.2646,37.0382;35.264,37.0381;35.2635,37.038;35.263,37.0379;35.2627,37.0378;35.2626,37.0376;35.2626,37.0372;35.2627,37.0367;35.2628,37.0363;35.2628,37.036;35.2629,37.0357;35.2629,37.0356;35.2628,37.0356;35.2628,37.0355;35.2626";
  </code></pre>
  
  <p>Web service client code:</p>
  
  <pre><code>Map&lt;String, String&gt; vars = new HashMap&lt;String, String&gt;();
  vars.put("pointList", pointList);
  
  String apiUrl = "http://api.website.com/service/getLocationInformations/{pointList}";
  
  RestTemplate restTemplate = new RestTemplate();
  LocationInfoObject result = restTemplate.getForObject(apiUrl, LocationInfoObject.class, vars);
  </code></pre>
  
  <p>When I run client side application, it throws a <code>HttpClientErrorException: 400 Bad Request</code>, I think long location information string causes to this problem. So, how can I solve this issue? Or is it possible posting long string value as parameter to web service?</p>
  
  <p>Thx all</p>