如何使用没有键值参数的Spring-android发出POST请求

时间:2013-09-26 07:19:09

标签: java android spring post

我可以用android函数做到这一点:

我发布了像JsonString的参数:

    String parametrs = "{\"object\": \"parametr\"};

然后我设置连接,创建String实体和makingRequest:

    String url = "http://lalala.com/json/";
    HttpPost request = new HttpPost(url);
    StringEntity se = null;

    ...
        se = new StringEntity(parametrs, "UTF-8");
    ...
    request.setEntity(se);      

    String jsonString = null;

    HttpParams httpParameters = new BasicHttpParams();  
    ...
    HttpClient httpClient = new DefaultHttpClient(httpParameters);  

    try
    {
        HttpResponse response = httpClient.execute(request);
 ......

我怎么能用春天做这件事?

1 个答案:

答案 0 :(得分:0)


你可以使用:

String parametrs = "{\"object\": \"parametr\"}";
RestTemplate restTemplate = new RestTemplate();
template.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
restTemplate.put(new URI("http://lalala.com/json/"), parametrs);

这与服务器上的结果相同(我使用Google App Engine + Spring MVC进行测试)。 但也许你应该考虑一个杰克逊的libery,所以你可以发送Objects =)

我用:

  • 杰克逊 - 注解-2.4.1.jar
  • 杰克逊 - 芯 - 2.4.1.jar
  • 杰克逊 - 数据绑定-2.4.1.1.jar
  • 弹簧机器人核-1.0.0.RELEASE.jar
  • 弹簧机器人静止模板-1.0.1.RELEASE.jar

杰克逊可下载here

所以你可以发送它:

restTemplate.put(new URI(http://lalala.com/json/), new Example(1L, "test");


顺便说一下:上面的代码不使用params,它使用body来发送信息。

希望我能帮到你。 让我们一次又一次地尝试......