Я ранее использовал Square чрезвычайно Дооснащения успешна для API вызова @GET
веба, но при попытке отправить JSON как @BODY
в @POST
вызова на сервере (Rails) JSON отображается как параметр, а не запрос тела.дооснащения @body показ в качестве параметра в запросе HTTP
Я понимаю, что @BODY
добавит этот параметр метода в запрос в теле.
Любая идея, что я делаю неправильно?
WebAPI:
@POST("/api/v1/gear/scans.json")
Response postScans(
@Header(HEADER_AUTH) String token,
@Body JsonObject scans
);
запрос веб Марка:
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer(api_url)
.build();
WebApi webApi = restAdapter.create(AssetsWebApi.class);
Response response = webApi.postScans(auth_token, valid_json);
Как вы асинхронную версию этого? Когда я добавляю обратный вызов, я получаю исключение - http://stackoverflow.com/questions/22572301/retrofit-throwing-illegalargumentexception-exception-for-asynchronous-formurlenc – Rickster
@Rickster Я подозреваю, что ваша проблема связана с вашим '@ DELETE', но я не знаком с этим - я только что делал вызовы @ @ GET' и '@ POST'. Мой асинхронный вызов редактируется выше. – saywhatnow
Отличный ответ. Странно, однако, что вы не можете сделать '@Body String param_name', но вам нужно выполнить' @Field ("param") String param_name' и перед '@ POST' вам нужно аннотировать' @ FormUrlEncoded';), но потому что это идеальное решение, я в порядке с этим. Спасибо! – virusss8