Web services org.restlet:针对webservice发布JSON内容返回HTTP错误411(需要长度)

Web services org.restlet:针对webservice发布JSON内容返回HTTP错误411(需要长度),web-services,json,post,java,restlet-2.0,Web Services,Json,Post,Java,Restlet 2.0,简化代码示例: 嗨 我想尝试使用restlet 2.0库和gpodder Web服务,但不知何故,我达到了一个无法看到树木的地步。 示例中的服务需要HTTP身份验证,并将一些JSON内容发布到URL。 没有那么复杂,但即使调试视图声称请求对象包含必要的内容,RESTfulWebService的响应也让我相信请求的HTTP头缺少内容 你知道原因是什么吗?提前感谢。问题在于,我见过的WriterRepresentation(JsonRepresentation、JacksonRepresentati

简化代码示例:

我想尝试使用restlet 2.0库和gpodder Web服务,但不知何故,我达到了一个无法看到树木的地步。 示例中的服务需要HTTP身份验证,并将一些JSON内容发布到URL。 没有那么复杂,但即使调试视图声称请求对象包含必要的内容,RESTfulWebService的响应也让我相信请求的HTTP头缺少内容


你知道原因是什么吗?提前感谢。

问题在于,我见过的WriterRepresentation(JsonRepresentation、JacksonRepresentation、XStreamRepresentation)的任何实现都没有在传递对象时设置表示的大小。因此,如果创建新的JacksonRepresentation(贴图),则不会计算尺寸

您必须手动计算地图内容的长度并调用Representation.setSize()。 或者,像我一样,使用

新的JsonRepresentation(“json字符串…”)


这个构造器能够计算大小,当然,也就是字符串长度,因此设置了适当的内容长度头,并且一切都顺利进行

问题在于,我见过的WriterRepresentation实现(JsonRepresentation、JacksonRepresentation、XStreamRepresentation)都没有在传递对象时设置表示的大小。因此,如果创建新的JacksonRepresentation(贴图),则不会计算尺寸

您必须手动计算地图内容的长度并调用Representation.setSize()。 或者,像我一样,使用

新的JsonRepresentation(“json字符串…”)

这个构造器能够计算大小,当然,也就是字符串长度,因此设置了适当的内容长度头,并且一切都顺利进行