@Test public void jsonSerializableResponseView() throws Exception { ModelResponse<? extends Sushi> response = Bastion.request(FileRequest.post("http://localhost:9876/sushi", "classpath:/json/create_sushi_request.json")) .bind(Sushi.class) .call() .getResponse(); Optional<JsonSerializable.Base> node = response.getView(JsonSerializable.Base.class); assertThat(node).isNotEmpty(); }
protected final JsonSerializer<?> findSerializerByAnnotations(SerializerProvider paramSerializerProvider, JavaType paramJavaType, BeanDescription paramBeanDescription) { if (JsonSerializable.class.isAssignableFrom(paramJavaType.getRawClass())) return SerializableSerializer.instance; AnnotatedMethod localAnnotatedMethod = paramBeanDescription.findJsonValueMethod(); if (localAnnotatedMethod != null) { Method localMethod = localAnnotatedMethod.getAnnotated(); if (paramSerializerProvider.canOverrideAccessModifiers()) ClassUtil.checkAndFixAccess(localMethod); return new JsonValueSerializer(localMethod, findSerializerFromAnnotation(paramSerializerProvider, localAnnotatedMethod)); } return null; }
@Override public final void serializeWithType(JsonSerializable value, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException, JsonGenerationException { value.serializeWithType(jgen, provider, typeSer); }
protected SerializableSerializer() { super(JsonSerializable.class); }
public void serialize(JsonSerializable paramJsonSerializable, JsonGenerator paramJsonGenerator, SerializerProvider paramSerializerProvider) { paramJsonSerializable.serialize(paramJsonGenerator, paramSerializerProvider); }
public final void serializeWithType(JsonSerializable paramJsonSerializable, JsonGenerator paramJsonGenerator, SerializerProvider paramSerializerProvider, TypeSerializer paramTypeSerializer) { paramJsonSerializable.serializeWithType(paramJsonGenerator, paramSerializerProvider, paramTypeSerializer); }
@Override public void serialize(JsonSerializable value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { value.serialize(jgen, provider); }