使用JSON的Jersey REST问题

时间:2016-11-29 21:32:41

标签: java json rest jersey jackson

我发现自己处于这样一种情况:我需要在我的服务器上使用POST获取一些数据并用它做一些简单的事情。但当我尝试使用www.hurl.it网站进行测试时,它一直在说415不支持的媒体类型。

这是我发送的json:

{
  "pictures": {
    "picture": [
      {
        "id": "1",
        "name": "10_aut_linen_male_less_student_work_yellow_n_cold.png"
      },
      {
        "id": "2",
        "name": "10_aut_linen_male_less_student_work_yellow_n_mild.png"
      },
      {
        "id": "3",
        "name": "10_aut_linen_male_less_student_work_yellow_n_hot.png"
      }
    ]
  }
}

这是模型类:

package com.models.sm7;


import java.util.ArrayList;
import java.util.List;


public class Sm7Pictures {
private Pictures pictures;
    public Pictures getPictures() {
        return pictures;
    }
    public void setPictures(Pictures pictures) {
        this.pictures = pictures;
    }


public class Pictures {
    private List<Picture> picture = new ArrayList<Picture>();
        public List<Picture> getPicture() {
            return picture;
        }
        public void setPicture(List<Picture> picture) {
            this.picture = picture;
        }

    }



public class Picture {
    private String id;
private String name;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }


    }
}

这是我的服务类:

@Path("sm7Service")
public class Sm7Service {

    Sm7DAO sm7DAO = new Sm7DAO();


    @GET
    @Path("/testSm7")
    @Produces(MediaType.TEXT_PLAIN)
    public String testSm (){

    return "Hello";}
    @POST
    @Path("/checkPictures")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.TEXT_PLAIN)
    public String getPictures(Sm7Pictures picture){

        System.out.println("pokrenuto");

    return "Hello";}

}
DAO课程是我将完成所有逻辑的地方,但是对于测试用语我只是简单地说文字......我真的很抱怨这个:S因为它很简单但我无法得到它工作。我的赌注是它与模型类有关?请帮忙!

1 个答案:

答案 0 :(得分:1)

解决了问题,必须将poll()置于{}@Consumes(MediaType.APPLICATION_JSON)