CRUD RESTful tutorial

He construido con éxito un Servicio web CRUD RESTful de acuerdo a esto tutoriales. Sin embargo, no estoy teniendo suerte en absoluto al expandirlo. Específicamente, estoy tratando de insertar un nuevo método en algún lugar (en cualquier lugar) que acepte la "ID", que es el parámetro que ingresa desde el navegador web.

Por ejemplo, he intentado todas las formas imaginables que se me ocurren para insertar este método:

public class Gateway{

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

En cualquier Clase 5.3 TodoRecurso or TodosRecurso.

Por ejemplo en 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;
}

Mi intento de pasar la puerta de enlace()-

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

¿Alguien puede darme una idea de cómo incorporar mi método en este ejemplo para que no lo ignore?

Gracias por su atención.

preguntado el 03 de mayo de 12 a las 19:05

1 Respuestas

Según el navegador que utilice, algunos navegadores prefieren APPLICATION_XML en lugar de TEXT_XML. Por lo tanto, es probable que se llame al siguiente método en lugar del que está agregando a su método 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;
}

contestado el 04 de mayo de 12 a las 07:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.