@Test public void testParsing() { FakeContext context = new FakeContext().setBody("{" + "\"name\":\"wisdom\"," + "\"friends\":[\"clement\",\"jonathan\"]," + "\"age\":2}"); Data data = parser.invoke(context, Data.class); assertThat(data.getName()).isEqualTo("wisdom"); assertThat(data.getFriends()).containsExactly("clement", "jonathan"); assertThat(data.getAge()).isEqualTo(2); }
public <T> T invoke(Context context, Class<T> classOfT) { return invoke(context, classOfT, null); }
BodyParserJson implements BodyParser { public <T> T invoke(Context context, Class<T> classOfT) { return invoke(context, classOfT, null); } }
BodyParserJson implements BodyParser { public <T> T invoke(Context context, Class<T> classOfT) { return invoke(context, classOfT, null); }  }
BodyParserJson implements BodyParser { public <T> T invoke(Context context, Class<T> classOfT) { return invoke(context, classOfT, null); }  T invoke(Context context, Class<T> classOfT); T invoke(Context context, Class<T> classOfT, Type genericType); @Override T invoke(byte[] bytes, Class<T> classOfT); List<String> getContentTypes(); }
BodyParserJson implements BodyParser { public <T> T invoke(Context context, Class<T> classOfT) { return invoke(context, classOfT, null); }  T invoke(Context context, Class<T> classOfT); T invoke(Context context, Class<T> classOfT, Type genericType); @Override T invoke(byte[] bytes, Class<T> classOfT); List<String> getContentTypes();  }