CRUD RESTful教程

时间:2012-05-03 18:51:52

标签: jersey crud

我已根据此CRUD RESTful webservice成功构建了tutorial。然而,我没有任何运气,无论如何扩展它。具体来说,我试图在某个地方(任何地方)插入一个新方法,它将接受来自Web浏览器的参数“ID”。

例如,我尝试了所有可以想到的插入此方法的方法:

public class Gateway{

    public static void gateway (String id) throws IOException{
            FileWriter out = new FileWriter("C:\\Atest.txt");
            out.write("Hello "+id);
            out.close();
            }
}

进入第5.3类TodoResourceTodosResource

例如在TodoResource中: 原单 -

// For the browser
@GET
@Produces(MediaType.TEXT_XML)
public Todo getTodoHTML() {
    Todo todo = TodoDao.instance.getModel().get(id);
    if(todo==null)
        throw new RuntimeException("Get: Todo with " + id +  " not found");
    return todo;
}

我尝试传递网关() -

// For the browser
@GET
@Produces(MediaType.TEXT_XML)
public Todo getTodoHTML() {
    Todo todo = TodoDao.instance.getModel().get(id);
    if(todo==null)
        throw new RuntimeException("Get: Todo with " + id +  " not found");
Bridge.gateway(id)  //Here I tried to pass id   
return todo;
}

任何人都可以提出如何将我的方法合并到这个示例中,以便它不会忽略它吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

根据您使用的浏览器,某些浏览器更喜欢APPLICATION_XML而不是TEXT_XML。因此,可能会调用以下方法,而不是将您的Bridge.gateway(id)方法添加到:

@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Todo getTodo() {
    Todo todo = TodoDao.instance.getModel().get(id);
    if(todo==null)
        throw new RuntimeException("Get: Todo with " + id +  " not found");
    return todo;
}