我正在开发基于 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 - 使用一个不完全是 JSON 的主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38091786/