Question

I have an instance where I need to pass multiple of the same named parameters to a server (array of data).

Changing it is not a possibility.

http://test.com?test[]=1&test[]=2&test[]=3

How do I accomplish this with RetroFit? I see that you can pass a map of values, but that doesn't help as the keys are all identical.

Any help would be great... really hoping there's a clean way/workaround or else I'm going to need to use another api lib and do a project refactor.

Was it helpful?

Solution

Retrofit as of 1.4.0 added the ability to send an array or List as a @Field or @Query parameter.

New: @Query and @EncodedQuery now accept List or arrays for multiple values.
New: @Field now accepts List or arrays for multiple values.

OTHER TIPS

I am using retrofit:1.9.0, one way of doing http://test.com?test[]=1&test[]=2&test[]=3 is like this

void test(@Query("test[]") ArrayList<String> values);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top