2012-05-03 111 views
0

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

例如,我都想尽办法想象我能想到的插入这个方法:

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: Orginal-

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

根据您使用的浏览器,某些浏览器更喜欢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; 
} 
相关问题