0

我已经根据本教程成功构建了一个CRUD RESTful 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: Original-

// 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;
}

任何人都可以提一下如何将我的方法合并到这个例子中,这样它就不会忽略它吗?

谢谢你。

4

1 回答 1

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;
}
于 2012-05-04T06:49:20.087 回答