关于Restlet客户端如何处理媒体类型标头,我有几个新手问题:
非常感谢!
如果您依赖ClientResource类,则可以将MediaType参数添加到您的put调用中,例如
put(myPojo, MediaType.APPLICATION_JSON);
更新 实际上,额外的媒体类型参数定义了远程资源期望的可接受结果类型,但不适用于发送的实体。
对发送的实体/ POJO的媒体类型的控制基于ConverterService的默认设置,该默认设置取决于类路径上可用的扩展及其各自的顺序。
您可以通过直接调用
ClientResource cr = new ClientResource("http://targetDomain/path"); cr.put(cr.toRepresentation(myPojo, new Variant(MediaType.APPLICATION_JSON));
您还需要在类路径及其依赖项上添加org.restlet.ext.jackson扩展名。XStream扩展是另一种选择。