自数小时以来,我一直在尝试纠正http错误,415 Unsupported Media Type但它仍显示不支持的媒体页面。我application/json在邮递员中添加标题。这是我的Java代码package lostLove;import javax.ws.rs.Consumes;import javax.ws.rs.GET; import javax.ws.rs.POST;import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;import javax.ws.rs.core.Response; import org.json.JSONObject;@Path("/Story") public class Story { @POST @Consumes({"application/json"}) @Produces(MediaType.APPLICATION_JSON) // @Consumes(MediaType.APPLICATION_JSON) // @Path("/Story") public JSONObject sayJsonTextHello(JSONObject inputJsonObj) throws Exception { String input = (String) inputJsonObj.get("input"); String output = "The input you sent is :" + input; JSONObject outputJsonObj = new JSONObject(); outputJsonObj.put("output", output); return outputJsonObj; } @GET @Produces(MediaType.TEXT_PLAIN) public String sayPlainTextHello() { return "hello"; }}这是我的web.xml档案<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>LostLove</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Jersey REST Service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
3 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
在将Jersey / 2与HTTP / 2一起使用时,我也看到过同样的问题,如果客户端发送HTTP / 1.1请求(例如使用Jersey客户端),则可以正常工作。
如果我切换到Jetty HTTP2客户端以发送相同的内容,则会得到415。
我使用的临时解决方案是Paul Samsotha所描述的替代方案,即“接受一个字符串并返回一个字符串”,然后手动将字符串反序列化为POJO。
添加回答
举报
0/150
提交
取消