From 036bade17e3aa163e1d0bad77e654e0338a4482f Mon Sep 17 00:00:00 2001 From: nicolasalmeida-stark Date: Tue, 3 Mar 2026 15:19:49 -0300 Subject: [PATCH] Fixed ErrorElement parse --- CHANGELOG.md | 2 ++ .../java/com/starkbank/error/ErrorElement.java | 14 ++++++++++++++ src/main/java/com/starkbank/utils/Rest.java | 6 ++++++ 3 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18dac4c..87f3940 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ Given a version number MAJOR.MINOR.PATCH, increment: - PATCH version when backwards compatible bug **fixes** are implemented. ## [Unreleased] +### Fixed +- ErrorElement parse ## [2.25.0] - 2026-01-07 ### Added diff --git a/src/main/java/com/starkbank/error/ErrorElement.java b/src/main/java/com/starkbank/error/ErrorElement.java index cf2be12..defd807 100644 --- a/src/main/java/com/starkbank/error/ErrorElement.java +++ b/src/main/java/com/starkbank/error/ErrorElement.java @@ -1,5 +1,12 @@ package com.starkbank.error; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; + +import java.lang.reflect.Type; + public final class ErrorElement extends StarkBankError { public String code; @@ -10,4 +17,11 @@ public ErrorElement(String code, String message) { this.code = code; this.message = message; } + + public static class Deserializer implements JsonDeserializer { + @Override + public ErrorElement deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext ctw) throws JsonParseException { + return new ErrorElement(json.getAsJsonObject().get("code").getAsString(), json.getAsJsonObject().get("message").getAsString()); + } + } } diff --git a/src/main/java/com/starkbank/utils/Rest.java b/src/main/java/com/starkbank/utils/Rest.java index 6030e87..9f608d8 100644 --- a/src/main/java/com/starkbank/utils/Rest.java +++ b/src/main/java/com/starkbank/utils/Rest.java @@ -5,6 +5,8 @@ import com.starkbank.utils.GeneratorRelay; import com.starkcore.utils.Page; import com.starkbank.utils.Response; +import com.starkcore.utils.GsonEvent; +import com.starkbank.error.ErrorElement; import com.google.gson.*; import com.starkbank.User; @@ -19,6 +21,10 @@ public final class Rest { + static { + GsonEvent.registerTypeAdapter(ErrorElement.class, new ErrorElement.Deserializer()); + } + static String host = "bank"; static String sdkVersion = "2.25.0"; static String apiVersion = "v2";