2012-05-03 38 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; 
} 
相關問題