我已根据此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类TodoResource或TodosResource。
例如在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;
}
任何人都可以提出如何将我的方法合并到这个示例中,以便它不会忽略它吗?
谢谢。
答案 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;
}