I am developing an Android App which is sending a JSON using Android Retrofit (it converts a POJO class in a JSON). It is working fine, but I need to ignore in the sending of JSON one element from the POJO class.
Does anyone know any Android Retrofit annotation?
Example
POJO Class:
public class sendingPojo { long id; String text1; String text2;//--> I want to ignore that in the JSON getId(){return id;} setId(long id){ this.id = id; } getText1(){return text1;} setText1(String text1){ this.text1 = text1; } getText2(){return text2;} setText2(String text2){ this.text2 = text2; } }
Interface Sender ApiClass
public interface SvcApi { @POST(SENDINGPOJO_SVC_PATH) public sendingPojo addsendingPojo(@Body sendingPojo sp); }
Any idea how to ignore text2?
Retrofit offers the ability to pass objects within the request body. Objects can be specified for use as HTTP request body by using the @Body annotation. The functionality of Retrofit's @Body annotation hasn't changed in version 2.
Retrofit is a REST Client for Java and Android allowing to retrieve and upload JSON (or other structured data) via a REST based You can configure which converters are used for the data serialization, example GSON for JSON.
I found an alternative solution if you don't want to use new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create()
.
Just including transient
in the variable I need to ignore.
So, the POJO class finally:
public class sendingPojo { long id; String text1; transient String text2;//--> I want to ignore that in the JSON getId() { return id; } setId(long id) { this.id = id; } getText1() { return text1; } setText1(String text1) { this.text1 = text1; } getText2() { return text2; } setText2(String text2) { this.text2 = text2; } }
I hope it helps
Mark the desired fields with the @Expose annotation, such as:
@Expose private String id;
Leave out any fields that you do not want to serialize. Then just create your Gson object this way:
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With