Моим решением было использовать парсер json и разбить его на куски
public static <TT> PushObj<TT> fromJSON(String json, Class<TT> classType)
{
JsonObject jObj = new JsonParser().parse(json).getAsJsonObject();
String type = jObj.get("type").getAsString();
JsonObject job = jObj.get("object").getAsJsonObject();
TT obj = new Gson().fromJson(job, classType);
return new PushObj<TT>(type, obj);
}
. Если структура объекта: {String: Type, Generic: Object}
И переменными являются: jObj - это JSONObject строки, переданной внутри, а job - это объект JSONObject общего объекта
. Поэтому я использовал парсер json, чтобы получить тип отдельно, и отражение для объекта.
Вместо перенаправления создайте свой собственный атрибут, наследующий от AuthorizeAttribute
, и переопределите метод OnAuthorization
. Таким образом, вам не нужно беспокоиться о перенаправлении.