Post Variable Number of ArrayLists with RetrofitCreate ArrayList from arrayWhen to use LinkedList over ArrayList in Java?Initialization of an ArrayList in one lineSort ArrayList of custom Objects by propertyConvert ArrayList<String> to String[] arrayRetrofit: multiple query parameters in @GET command?%3F instead of question mark in my Retrofit URLSending various parameters (JSON) using Retrofit 2How do you add constant Body fields in retroift POST request?Android Retrofit Only one encoding annotation allowed
Is there a RAID 0 Equivalent for RAM?
Echo with obfuscation
Check if object is null and return null
Showing mass murder in a kid's book
What is the smallest number n> 5 so that 5 ^ n ends with "3125"?
How do you justify more code being written by following clean code practices?
Review your own paper in Mathematics
Why the "ls" command is showing the permissions of files in a FAT32 partition?
Would a primitive species be able to learn English from reading books alone?
Does Doodling or Improvising on the Piano Have Any Benefits?
Ways of geometrical multiplication
SOQL query causes internal Salesforce error
How to get directions in deep space?
How were servants to the Kaiser of Imperial Germany treated and where may I find more information on them
Why is the principal energy of an electron lower for excited electrons in a higher energy state?
Grepping string, but include all non-blank lines following each grep match
Pre-Employment Background Check With Consent For Future Checks
How do I prevent inappropriate ads from appearing in my game?
How much do grades matter for a future academia position?
Telemetry for feature health
Can I run 125kHz RF circuit on a breadboard?
How many people need to be born every 8 years to sustain population?
What's the name of the logical fallacy where a debater extends a statement far beyond the original statement to make it true?
How to I force windows to use a specific version of SQLCMD?
Post Variable Number of ArrayLists with Retrofit
Create ArrayList from arrayWhen to use LinkedList over ArrayList in Java?Initialization of an ArrayList in one lineSort ArrayList of custom Objects by propertyConvert ArrayList<String> to String[] arrayRetrofit: multiple query parameters in @GET command?%3F instead of question mark in my Retrofit URLSending various parameters (JSON) using Retrofit 2How do you add constant Body fields in retroift POST request?Android Retrofit Only one encoding annotation allowed
I have to make a POST request to send a variable numbers of ArrayList to the server.
Here's an example of what the payload could look like
parameter_1 : [1,2,3]
parameter_2 : ["one", "two", "three"]
the names of the parameter and their count is not known in advance.
I created a test case using the following method
@FormUrlEncoded
@POST(register)
Call<TestApiResponse> TestApiCall(
@Field("parameter_1[]") ArrayList<Integer> parameterOne,
@Field("parameter_2[]") ArrayList<String> parameterTwo
);
and I called this function like this :
ArrayList<String> param1 = new ArrayList<Integer>();
param1.add(1); param1.add(2); param1.add(3);
ArrayList<String> param2 = new ArrayList<String>();
param2.add("one"); param2.add("two");
and then I intercepted the retrofit API call. I can see that the values are encoded as parameter_1%5B%5D, parameter_1%5B%5D, parameter_1%5B%5D and parameter_2%5B%5D, parameter_2%5B%5D, respectively for both the parameters.
Now the next step for me is to see if I can do the same API call but instead of hardcoding parameter names in the Retrofit Interface Declaration, do it dynamically.
I've done this before for variable number of parameters to send String values using FieldMap.
But when I create a function like this :
@FormUrlEncoded
@POST(register)
Call<LoginResponse> registerUserWithoutAvatar2(
@FieldMap Map<String, ArrayList<String>> arrayParameters,
);
I invoke this function like this
Map<String, ArrayList<String>> param = new HashMap<>();
ArrayList<String> param1 = new ArrayList<String>();
param1.add(1); param1.add(2); param1.add(3);
param.put("parameter_1[]", param1)
when i intercept the API call, i see that Retrofit has encoded the field as one parameter param_1%5B%5D and its value is a encoded comma separated string that looks like 1%2C2%2C3.
Any clue how I could fix this? or if there's an alternate approach? Happy to provide more information.
java android retrofit2
add a comment |
I have to make a POST request to send a variable numbers of ArrayList to the server.
Here's an example of what the payload could look like
parameter_1 : [1,2,3]
parameter_2 : ["one", "two", "three"]
the names of the parameter and their count is not known in advance.
I created a test case using the following method
@FormUrlEncoded
@POST(register)
Call<TestApiResponse> TestApiCall(
@Field("parameter_1[]") ArrayList<Integer> parameterOne,
@Field("parameter_2[]") ArrayList<String> parameterTwo
);
and I called this function like this :
ArrayList<String> param1 = new ArrayList<Integer>();
param1.add(1); param1.add(2); param1.add(3);
ArrayList<String> param2 = new ArrayList<String>();
param2.add("one"); param2.add("two");
and then I intercepted the retrofit API call. I can see that the values are encoded as parameter_1%5B%5D, parameter_1%5B%5D, parameter_1%5B%5D and parameter_2%5B%5D, parameter_2%5B%5D, respectively for both the parameters.
Now the next step for me is to see if I can do the same API call but instead of hardcoding parameter names in the Retrofit Interface Declaration, do it dynamically.
I've done this before for variable number of parameters to send String values using FieldMap.
But when I create a function like this :
@FormUrlEncoded
@POST(register)
Call<LoginResponse> registerUserWithoutAvatar2(
@FieldMap Map<String, ArrayList<String>> arrayParameters,
);
I invoke this function like this
Map<String, ArrayList<String>> param = new HashMap<>();
ArrayList<String> param1 = new ArrayList<String>();
param1.add(1); param1.add(2); param1.add(3);
param.put("parameter_1[]", param1)
when i intercept the API call, i see that Retrofit has encoded the field as one parameter param_1%5B%5D and its value is a encoded comma separated string that looks like 1%2C2%2C3.
Any clue how I could fix this? or if there's an alternate approach? Happy to provide more information.
java android retrofit2
add a comment |
I have to make a POST request to send a variable numbers of ArrayList to the server.
Here's an example of what the payload could look like
parameter_1 : [1,2,3]
parameter_2 : ["one", "two", "three"]
the names of the parameter and their count is not known in advance.
I created a test case using the following method
@FormUrlEncoded
@POST(register)
Call<TestApiResponse> TestApiCall(
@Field("parameter_1[]") ArrayList<Integer> parameterOne,
@Field("parameter_2[]") ArrayList<String> parameterTwo
);
and I called this function like this :
ArrayList<String> param1 = new ArrayList<Integer>();
param1.add(1); param1.add(2); param1.add(3);
ArrayList<String> param2 = new ArrayList<String>();
param2.add("one"); param2.add("two");
and then I intercepted the retrofit API call. I can see that the values are encoded as parameter_1%5B%5D, parameter_1%5B%5D, parameter_1%5B%5D and parameter_2%5B%5D, parameter_2%5B%5D, respectively for both the parameters.
Now the next step for me is to see if I can do the same API call but instead of hardcoding parameter names in the Retrofit Interface Declaration, do it dynamically.
I've done this before for variable number of parameters to send String values using FieldMap.
But when I create a function like this :
@FormUrlEncoded
@POST(register)
Call<LoginResponse> registerUserWithoutAvatar2(
@FieldMap Map<String, ArrayList<String>> arrayParameters,
);
I invoke this function like this
Map<String, ArrayList<String>> param = new HashMap<>();
ArrayList<String> param1 = new ArrayList<String>();
param1.add(1); param1.add(2); param1.add(3);
param.put("parameter_1[]", param1)
when i intercept the API call, i see that Retrofit has encoded the field as one parameter param_1%5B%5D and its value is a encoded comma separated string that looks like 1%2C2%2C3.
Any clue how I could fix this? or if there's an alternate approach? Happy to provide more information.
java android retrofit2
I have to make a POST request to send a variable numbers of ArrayList to the server.
Here's an example of what the payload could look like
parameter_1 : [1,2,3]
parameter_2 : ["one", "two", "three"]
the names of the parameter and their count is not known in advance.
I created a test case using the following method
@FormUrlEncoded
@POST(register)
Call<TestApiResponse> TestApiCall(
@Field("parameter_1[]") ArrayList<Integer> parameterOne,
@Field("parameter_2[]") ArrayList<String> parameterTwo
);
and I called this function like this :
ArrayList<String> param1 = new ArrayList<Integer>();
param1.add(1); param1.add(2); param1.add(3);
ArrayList<String> param2 = new ArrayList<String>();
param2.add("one"); param2.add("two");
and then I intercepted the retrofit API call. I can see that the values are encoded as parameter_1%5B%5D, parameter_1%5B%5D, parameter_1%5B%5D and parameter_2%5B%5D, parameter_2%5B%5D, respectively for both the parameters.
Now the next step for me is to see if I can do the same API call but instead of hardcoding parameter names in the Retrofit Interface Declaration, do it dynamically.
I've done this before for variable number of parameters to send String values using FieldMap.
But when I create a function like this :
@FormUrlEncoded
@POST(register)
Call<LoginResponse> registerUserWithoutAvatar2(
@FieldMap Map<String, ArrayList<String>> arrayParameters,
);
I invoke this function like this
Map<String, ArrayList<String>> param = new HashMap<>();
ArrayList<String> param1 = new ArrayList<String>();
param1.add(1); param1.add(2); param1.add(3);
param.put("parameter_1[]", param1)
when i intercept the API call, i see that Retrofit has encoded the field as one parameter param_1%5B%5D and its value is a encoded comma separated string that looks like 1%2C2%2C3.
Any clue how I could fix this? or if there's an alternate approach? Happy to provide more information.
java android retrofit2
java android retrofit2
asked Mar 7 at 21:56
Denny GeorgeDenny George
1451213
1451213
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55053435%2fpost-variable-number-of-arraylists-with-retrofit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55053435%2fpost-variable-number-of-arraylists-with-retrofit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown