Application/JSON 是 restful 网络服务中不支持的媒体类型
Application/JSON is Unsupported Media Type in restful webservice
我正在尝试创建一个 restful-jersey 网络服务。我必须将 JSON 对象传递给网络服务。
@POST
@Path("/saveVehicleTrackingData")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String saveVehicleTrackingData(VehicleTracking vehicleTracking) {
return vehicleTracking.toString();
}
当我尝试向该服务发出请求时,它显示 HTTP 状态 415 - 不支持的媒体类型。 请帮忙。另外,方法 saveVehicleTrackingData.
的单个参数的类型应该是什么
PS: 我正在使用 POSTMAN 发出 http 请求。 http://goo.gl/vwXNXQ
更新:
正如 peeskillet 所指出的,这里缺少的是 JSON Provider。我面临的下一个挑战是,如何将 JSON Provider 集成到我的项目中。经过一番研究,我发现 FasterXML jackson 是 JSON 提供者之一。
第一个问题:
您使用哪种主机(Tomcat、GlassFish 或其他...),主机的 Java 版本是什么?我从经验中知道 Tomcat 的不同版本与 Jersey 的结合有时会导致 @Consumes(MediaType.APPLICATION_JSON)
.
出现问题
关于你的第二个问题:
你想建立一个RESTful网络服务,正确的路径名称应该是; VehicleTrackingData(或任何你喜欢的)。此路径将适用于 (request/response) 已知的 HTTP 动词;获取、POST、放置或删除。
此图片仅供参考。我刚从另一个 post.
那里得到它
基本上当你使用raw时,它会默认为text/plain
。下拉的JSON,就是为了select语法高亮。您仍然需要将 Content-Type
header 设置为 application/json
。您可以点击 Headers 按钮并添加它。
我正在尝试创建一个 restful-jersey 网络服务。我必须将 JSON 对象传递给网络服务。
@POST
@Path("/saveVehicleTrackingData")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String saveVehicleTrackingData(VehicleTracking vehicleTracking) {
return vehicleTracking.toString();
}
当我尝试向该服务发出请求时,它显示 HTTP 状态 415 - 不支持的媒体类型。 请帮忙。另外,方法 saveVehicleTrackingData.
的单个参数的类型应该是什么PS: 我正在使用 POSTMAN 发出 http 请求。 http://goo.gl/vwXNXQ
更新: 正如 peeskillet 所指出的,这里缺少的是 JSON Provider。我面临的下一个挑战是,如何将 JSON Provider 集成到我的项目中。经过一番研究,我发现 FasterXML jackson 是 JSON 提供者之一。
第一个问题:
您使用哪种主机(Tomcat、GlassFish 或其他...),主机的 Java 版本是什么?我从经验中知道 Tomcat 的不同版本与 Jersey 的结合有时会导致 @Consumes(MediaType.APPLICATION_JSON)
.
关于你的第二个问题:
你想建立一个RESTful网络服务,正确的路径名称应该是; VehicleTrackingData(或任何你喜欢的)。此路径将适用于 (request/response) 已知的 HTTP 动词;获取、POST、放置或删除。
此图片仅供参考。我刚从另一个 post.
那里得到它基本上当你使用raw时,它会默认为text/plain
。下拉的JSON,就是为了select语法高亮。您仍然需要将 Content-Type
header 设置为 application/json
。您可以点击 Headers 按钮并添加它。