Campos opcionales y obligatorios de Gson

¿Cómo se debe lidiar conGsony campos obligatorios versus opcionales?

Como todos los campos son opcionales, realmente no puedo fallar mi solicitud de red si la respuesta json contiene alguna clave,Gsonsimplemente lo analizará a nulo.

Método que estoy usandogson.fromJson(json, mClassOfT);

Por ejemplo si tengo los siguientes json:

{"user_id":128591, "user_name":"TestUser"}

Y mi clase:

public class User {

    @SerializedName("user_id")
    private String mId;

    @SerializedName("user_name")
    private String mName;

    public String getId() {
        return mId;
    }

    public void setId(String id) {
        mId = id;
    }

    public String getName() {
        return mName;
    }

    public void setName(String name) {
        mName = name;
    }
}

Es la opción para obtenerGson fallar si json no contendríauser_id ouser_name ¿llave?

¿Puede haber muchos casos en los que necesite al menos algunos valores para analizar y otro podría ser opcional?

¿Hay algún patrón o biblioteca que se use para manejar este caso globalmente?

Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta