我的Web服务Java类就像这样
@Path("/signUp")
public class SignUpService{
(POST)
@Path("/sendCode")
@Consumes(Media_APPLICATION_JSON)
@Produces(Media_APPLICATION_JSON)
public String signUp(Incoming streamingData){
//some logic goes here
return someString;
}
return someString;
}
//赦免上面的代码,我根据我可以回忆的内容输入它。实际问题如下
我在Mac上的Apache tomcat上运行服务器代码,当我使用POSTMAN向JSON主体发送POST请求时,它可以工作。
我在AWS Ubuntu中将相同的代码部署到tomcat,但是我得到Media Type不支持415错误。但是GET请求在本地计算机和AWS部署中都运行良好。
答案 0 :(得分:0)
我找到了解决方案。我没有添加
->setCellValue("T{$pRow}", (empty($meter['test_date'])) ? '':(new \DateTime($meter['test_date']))->format('d.m.Y'))
在班级。
进行以下更改解决了问题
@Consumes(Media_APPLICATION_JSON)
@Produces(Media_APPLICATION_JSON)
答案 1 :(得分:0)
如果使用maven,请尝试在pom.xml中添加以下依赖项。
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.23.2</version>
</dependency>
如果不使用maven,请从此处下载jar并将其添加到类路径中: https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson/2.23.2
同时将(POST)更改为@POST。
答案 2 :(得分:0)
您无需在类级别添加以下注释来解决此问题。
@Consumes(Media_APPLICATION_JSON)
@Produces(Media_APPLICATION_JSON)
您需要确保您在请求标头中发送的内容类型应与泽西的@consume
注释的内容类型相匹配。