Я хочу отправить запрос POST на сервер. Я должен передать объект JSON в качестве параметра, и получить JSON в качестве ответа, но я получаю эту ошибку:Клиент для отдыха с AndroidAnnotations - «нет подходящего HttpMessageConverter ...»
org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [com.package.Response] and content type [application/octet-stream]
Код
Отправка запроса:
@RestService
RestClient restClient;
...
String json = "{\"param\":3}";
restClient.getRestTemplate().getMessageConverters().add(new GsonHttpMessageConverter());
Response res = restClient.send(json);
RestClient
@Rest("http://my-url.com")
public interface RestClient
{
@Post("/something/")
Response send(String json);
RestTemplate getRestTemplate();
void setRestTemplate(RestTemplate restTemplate);
}
Я использую эти файлы JAR:
- весенне-андроид-отдых-шаблон-1.0.0.RC1
- весенне-андроид-ядро-1.0.0.RC1
- пружинно-андроид-авт-1.0.0.RC1
- gson-2,2 .2
Что я делаю неправильно?
Когда я изменяю параметр send
на JSONObject
Я получаю ту же ошибку.
КПП. Документы AA действительно загадочны - могу ли я использовать Gson?
Или я должен использовать Джексона?
Какой файл мне нужно включить?
Спасибо за помощь!
Спасибо вам большое!Будет ли новая версия аннотации поддержки AA для HttpMessageConverters? – Piotr
Да, это часть плана :) –
Прохладный, спасибо Piwaï. Просто немного больше информации, если другим это нужно: чтобы добавить это, я удалил автоматически созданный-от-интерфейс RestClient и использовал сгенерированный класс в качестве основы, а затем добавил код Piwaï выше в конструктор. За исключением меня, setSupportedMediaTypes принимает список MediaTypes, поэтому я сначала добавил MediaType в список. Вы можете переключить \ @RestClient для \ @EBean и ссылаться на свой класс с помощью \ @Bean. Работал для меня в любом случае! :) – poshaughnessy