java json http-headers restlet

java - ¿Cómo maneja el cliente Restlet el tipo de medio de solicitud?



json http-headers (1)

Tengo varias preguntas nuevas sobre cómo el cliente de Restlet maneja el encabezado del tipo de medios:

  1. ¿Qué pondrá el cliente Restlet en el encabezado ''content-type'' si paso en una entidad de tipo a) un POJO ob) una instancia de InputStream? ¿Y cuál será el encabezado ''aceptar''?
  2. Si deseo transferir un POJO en formato JSON en el cuerpo HTTP, ¿necesito serializar el POJO y pasarlo como una cadena JSON o puedo pasar el POJO y Restlet hará el resto? Si es el primer caso, ¿debo especificar el encabezado ''content-type'' y cómo?

¡Muchas gracias!


Si confía en la clase ClientResource, puede agregar un parámetro MediaType a su llamada directa, como

put(myPojo, MediaType.APPLICATION_JSON);

ACTUALIZAR En realidad, el parámetro de tipo de medio adicional define el tipo de resultado aceptado esperado del recurso remoto, pero no se aplica a la entidad enviada.

El control sobre el tipo de medio de la entidad / POJO enviado se basa en la configuración predeterminada de ConverterService, que depende de las extensiones disponibles en su classpath y su orden respectivo.

Usted puede tener control total al invocar directamente el

ClientResource cr = new ClientResource("http://targetDomain/path"); cr.put(cr.toRepresentation(myPojo, new Variant(MediaType.APPLICATION_JSON));

También necesita agregar la extensión org.restlet.ext.jackson en su classpath y sus dependencias. La extensión XStream es otra opción.