public interface UserService { @POST(Constants.Api.URL_REGISTRATION) @FormUrlEncoded BaseWrapper registerUser(@Field("first_name") String firstname, @Field("last_name") String lastname, @Field("regNumber") String phone, @Field("regRole") int role); public BaseWrapper registerUser(User user) { return getUserService().registerUser(user.getFirstName(), user.getLastName(), user.getPhone(), user.getRole()); }
This create Exception
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
Big thanks for help.
Advertisement
Answer
Let’s look at the error you are receiving.
Expected BEGIN_OBJECT
Your JSON is an object, and all JSON objects are enclosed in curly braces ({}). BEGIN_OBJECT is therefore {. And it’s expecting it somewhere.
but was STRING
But instead he found a string “Something”. Still doesn’t tell us where.
at line 1 column 1 path $
Ah, perfect. At line 1 column 1. Which is the start of the JSON. So you have forgotten to enclose the whole thing in {} (or at least you have forgotten the first one, but I bet you’ve forgotten them both).