Джерси RESTfull сервис с JSON - PullRequest
       6

Джерси RESTfull сервис с JSON

2 голосов
/ 12 сентября 2011

Я хочу разобрать значения из JSON-Post в Java-переменные.Но они всегда пусты!

JSON-Post:

{"algID":0,"vertices":[1,2,3]}

Моя попытка разобрать его в Java-переменные:

  @POST
  @Consumes(MediaType.APPLICATION_JSON)
  @Path("getCloseness_vertices")
  public String getCloseness_vertices(
  @FormParam("algID") int algID,
  @FormParam("vertices") IntArray vertices)

Если я попробую вот так:

public String getCloseness_vertices(int algID)

Tomcat говорит:

Средство чтения тела сообщения для Java-класса int, Java-типа int и MIME-типа application / json;charset = UTF-8 не был найден.

Любая помощь была бы хороша, я просто не понимаю.

1 Ответ

7 голосов
/ 12 сентября 2011

Вам необходимо создать POJO, чтобы Джерси мог сериализовать JSON:

import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class MyPojo {
    public int algID;
    public int[] verticies;

    public MyPojo() {} // constructor is required

}

Тогда ...

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("getCloseness_vertices")
public String getCloseness_vertices(MyPojo p) 
{
    int i = p.algID;
}

Также вам необходимо включить джерси json файл jar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...