Удаление остального шаблона не работает

Я попытался вызвать операцию удаления с помощью метода удаления RestTemplate, но он не работает. Код контроллера My Rest для удаления

@RequestMapping(method = RequestMethod.DELETE)
 @ResponseBody
  public DeleteResponse deleteRecords(
  @RequestBody final DeleteRequest DeleteRequest) {

    DeleteResponse response=new DeleteResponse();
    //invoke respective services to do delete operations
    response.setStatus("success");
    response.setMessage("all records deleted successfully");
    return response;

  }

  Class DeleteRequest{
    @JsonProperty(value="userId")
    String userId;
    @JsonProperty(value="records")
    List<Record>  records;
  }
  class Record{
    @JsonProperty(value="key1")
        String key1;
    @JsonProperty(value="key2")
        String key2;
    @JsonProperty(value="key3")
        String key3;
  }

// Вызов клиента

 public void deleteRecords(String url,DeleteRequest deleteRequest){
    resttemplate.delete(url, deleteRequest);
}

Я вызываю put аналогичным образом, он работает нормально. для удаления я получаю исключение ниже. Произошло исключение: не удалось прочитать JSON: нет содержимого для сопоставления из-за конца ввода.

Чтобы проверить, есть ли проблема в том, как я передаю значения json, я создал класс, расширяющий RestTemplate, и добавил метод performActionForObject

public class MyRestTemplate extends RestTemplate {

    public <T> T performActionForObject(String url, Object request, Class<T> responseType,HttpMethod method) throws RestClientException {
        RequestCallback requestCallback = httpEntityCallback(request, responseType);
        HttpMessageConverterExtractor<T> responseExtractor =
                new HttpMessageConverterExtractor<T>(responseType, getMessageConverters());
        return execute(url, method, requestCallback, responseExtractor);
    }

}

затем вызвал операцию удаления, как показано ниже

DeleteResponse response= resttemplate.performActionForObject(url, deleteRequest, DeleteResponse.class, HttpMethod.DELETE);

Это не сработало, у меня было такое же исключение, поэтому я изменил удаление на публикацию как в контроллере, так и в клиенте отдыха, он работал отлично.

 @RequestMapping(method = RequestMethod.POST)
     @ResponseBody
      public DeleteResponse deleteRecords(
      @RequestBody final DeleteRequest DeleteRequest) {

DeleteResponse response= resttemplate.performActionForObject(url, deleteRequest, DeleteResponse.class, HttpMethod.POST);

Не знаю, почему это не работает, когда я использую удаление


person bhuvanesh.l    schedule 03.09.2015    source источник
comment
Определите, не работает ли трассировка стека?   -  person    schedule 03.09.2015
comment
Возникло исключение: не удалось прочитать JSON: нет содержимого для сопоставления из-за конца ввода,   -  person bhuvanesh.l    schedule 03.09.2015
comment
stackoverflow.com/questions/19775704/ возможно   -  person    schedule 03.09.2015