Spring REST模板 - put()和exchange()之间的区别

时间:2016-01-29 08:34:02

标签: spring rest

这是我为update调用数据库编写的测试用例:

@Test
public void testUpdateList() {
    //
    //... Some variables
    //
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);

    String requestBody = "{\"id\":\"" + givenId + "\",\"listName\":\"" + listName + "\",\"owner\":\"" + owner + "\"}";

    HttpEntity <String> entity = new HttpEntity<>(requestBody, headers);

    // Call to update
    ResponseEntity <TaskListResponse> list = template.exchange(REQUEST_URL + "/list/update/{id}", HttpMethod.PUT, entity, TaskListResponse.class, params);
}

此处params是REST URL的名称值HashMap。

当我想更新list类型时,由于RestTemplate.put()没有返回类型,我使用了HTTP请求。 与template.put的通话看起来像这样:

   template.put(REQUEST_URL + "/list/update/{id}", request, params);
  • 但我不知道这两种电话之间的区别。有人可以参考上面的代码向我解释一下吗? template.exchange如果PUT请求,template.post/get/delete如何返回值?

  • 我正在寻找的是因为我使用create() search()delete().put(),我应该使用{{1}虽然我没有得到回复,但对update()也是如此?

0 个答案:

没有答案