How to pass a key with null value or an empty String in the request body in retrofit android

NagarjunaAlaparthi picture NagarjunaAlaparthi · Oct 15, 2016 · Viewed 10.8k times · Source

I need to pass the keys even with no values as the keys are mandatory at the server side. But Retrofit was removing the keys with null values while sending the request. How I can achieve sending keys without values to the server with the use of Retrofit?

Request body look like this :

{
        "first_name":"testlogin",
        "last_name":"lastname",
        "username":"testman", 
        "password":"test123", 
        "email":"[email protected]", 
        "address1":"123+test+way",
        **"address2":"",**
        **"address3":"",**
        "postal_code":"75023",
        "country":1,
        **"state":""**
}

Thanks in advance.

Answer

Nongthonbam Tonthoi picture Nongthonbam Tonthoi · Oct 15, 2016

Try passing it as:

"address2":null,
"address3":null,
"postal_code":"75023"
"country":1,
"state":null

Since you are using Gson converter, try creating the gson as:

Gson gson = new GsonBuilder().serializeNulls().create();

from here.