2011-09-12 7 views
2

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

JSON-сообщение:

{"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 class int и тип Java int и MIME приложение типа мультимедиа/json; charset = UTF-8 не найден.

Любая помощь будет приятной, я просто не понимаю.

ответ

7

Вам нужно создать 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; 
} 

Кроме того, необходимо включить файл jersey-json банку.

Смежные вопросы