为什么我收到Media type unsupported 415错误?

时间:2016-11-01 20:57:33

标签: java json amazon-web-services tomcat media-type

我的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部署中都运行良好。

3 个答案:

答案 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注释的内容类型相匹配。