I need to send the following json through modification 2:
{ "Inspection": { "UUID": "name", "ModifiedTime": "2016-03-09T01:13", "CreatedTime": "2016-03-09T01:13", "ReviewedWith": "name2", "Type": 1, "Project": { "Id": 41 }, "ActionTypes": [1] } }
With title: Authorization: access_token_value
I tried this:
//header parameter String accessToken = Requests.getAccessToken(); JsonObject obj = new JsonObject(); JsonObject inspection = new JsonObject(); inspection.addProperty("UUID","name"); inspection.addProperty("ModifiedTime","2016-03-09T01:13"); inspection.addProperty("CreatedTime","2016-03-09T01:13"); inspection.addProperty("ReviewedWith","name2"); inspection.addProperty("Type","1"); JsonObject project = new JsonObject(); project.addProperty("Id", 41); inspection.add("Project", project); obj.add("Inspection", inspection); Retrofit restAdapter = new Retrofit.Builder() .baseUrl(Constants.ROOT_API_URL) .addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(ScalarsConverterFactory.create()) .build(); IConstructSecureAPI service = restAdapter.create(IConstructSecureAPI.class); Call<JsonElement> result = service.addInspection(accessToken, obj); JsonElement element = result.execute().body();
But every time I got an exception: java.lang.IllegalArgumentException: Unable to create @Body converter for class com.google.gson.JsonObject (parameter #2)
How can I send it? Or any other idea how I can do this. You can even suggest me a parameter with a simple String with json inside. It will suit me
java json retrofit retrofit2
neustart47
source share