2014-04-15 2 views
4

Я хочу использовать веб-службу, которая принимает массив String [] в теле веб-запроса.Отправить массив String [] через тело запроса в веб-службу, используя Retrofit

public void fooWebService(@RequestBody String[] ids) 

Что бы быть лучшим способом, чтобы отправить [] массив строк из моего Android клиента с помощью Retrofit? Я предполагаю, что мне нужно будет использовать аннотацию @Body.

content-type является application/json.

ответ

3

Серийная модификация по умолчанию для системы дооснащения - JSON, поэтому это будет в основном работать из-за коробки. Вы можете использовать либо String[], либо List<String> на клиенте (я предпочитаю последний).

@POST("/endpoint") 
void sendIds(@Body List<String> ids); 

После создания экземпляра службы с помощью вашего RestAdapter вы можете передать существующий список идентификаторов или создать.

service.sendIds(ids); 
// .. or .. 
service.sendIds(Arrays.asList("foo", "bar")); 
+0

Привет @Jake Уортон, я м в настоящее время создает 4 MULTIPART RequestBody для 4 файла изображения, есть способ, чтобы отправить эти четыре файла в одном массиве, сервер должен получить его в качестве ARRAY только – Ak9637