java – 使用一个不完全是JSON的主体

我正在开发基于Jersey REST API的Web应用程序.我正在根据客户端要求(JSON格式的输入参数)开发POST服务,并且工作正常.现在他们想要改变输入格式,如下所示.现在我得到415错误(不支持的媒体类型).

这是旧的JSON格式,它的效果很好:

 {
    "weight": 5.0,
    "length": 1.5,
    "width": 2.7,
    "height": 0.7
}

这个格式客户端需要发送.

{
weight = 12;
with = 78;
height = 78;
length = 5;
}

这是我的POST服务:

@POST
@Path("/insert")
@Consumes({MediaType.TEXT_PLAIN})
@Produces({MediaType.APPLICATION_JSON})

以前我用过

@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})

解决方法:

它不再是JSON了.看看http://www.json.org/,您将看到参数名称字符串必须用双引号括起来.所以你必须决定听取客户端并创建自己的MessageBodyReader来处理这种自定义格式,或者告诉客户端他们需要发送有效的JSON.

上一篇:java – Jersey记录服务的所有响应时间


下一篇:java – 关注Jersey Tutorial