как отправить список <String>с модернизацией? - PullRequest
0 голосов
/ 18 декабря 2018

Я отправляю многокомпонентный запрос на сервер, и это мой интерфейс:

@Multipart
@POST("v1/group/new")
Call<MyResponse> newGroup(
        @Header("token") String token,
        @Part MultipartBody.Part photo,
        @Part("title") RequestBody subject,
        @Part("members") List<RequestBody> members);

, и для отправки моих участников в моем фрагменте я изменяю свой List<String> на List<RequestBody>, как показано ниже:

List<RequestBody> members = new ArrayList<>();
for(int i = 0;i < membersId.size(); i++){
    members.add(RequestBody.create(MediaType.parse("text/plain"),membersId.get(i)));
}

и работает с несколькими участниками!но когда в моем списке есть одна строка, модернизация не отправляет моих участников в виде списка !!!например:

Я хочу отправить массив строк следующим образом:

["item1", "item2", "item3"]

мой код работает для этого,но когда есть только один элемент, модификация отправляет это:

"item1"

вместо ["item1"]

что является правильным способом отправки массива строкв multipart с дооснащением?

что я делаю не так?

1 Ответ

0 голосов
/ 18 декабря 2018

Используйте что-то вроде этого.

@Multipart
@POST("v1/group/new")
Call<MyResponse> newGroup(
        @Header("token") String token,
        @Part MultipartBody.Part photo,
        @Part("title") RequestBody subject,
        @Part("members[]") List<RequestBody> members);

Помните, что вы должны добавить [] к своим членам param:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...