我正在开发基于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})
答案 0 :(得分:7)
它不再是JSON了。查看http://www.json.org/,您将看到参数名称字符串必须用双引号括起来。因此,您必须决定收听客户端并创建自己的MessageBodyReader
来处理此自定义格式,或者告诉客户端他们需要发送有效的JSON。