охттп добавить пост параметры из массива - PullRequest
0 голосов
/ 09 июня 2019

я пытаюсь отправить пост-запрос с N числами параметров, используя okhttp3.я могу только найти способ сделать это с предопределенным количеством параметров.

как я могу динамически добавлять больше параметров в запрос post?

я хочу перебрать список ключей и значений массиваи добавьте их к addFormDataPart или любому другому эквивалентному методу.

это текущий код:

RequestBody requestBody = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("email", "your-email@email.com")
                .addFormDataPart("name", "your-name")
                .build();


        Request request = new Request.Builder()
                .url("url")
                .post(requestBody)
                .build();

1 Ответ

0 голосов
/ 09 июня 2019

использовать хэш-карту

// HashMap with Params
HashMap<String, String> params = new HashMap<>();
// dynamically add more parameters like this:
params.put( "name", "Arom" );
params.put( "key_from_list", "value_from_list" );

// Initialize Builder (not RequestBody)
FormBody.Builder builder = new FormBody.Builder();

// loop while Adding Params to Builder
for ( Map.Entry<String, String> entry : params.entrySet() ) {
    builder.add( entry.getKey(), entry.getValue() );
}

// Create RequestBody
RequestBody formBody = builder.build();

// Create Request (same)
Request request = new Request.Builder()
        .url( "url" )
        .post( formBody )
        .build();
...