Implementacion servicios restful en_java

Para esta implementación utilizamos el API JAX-RSJAX-RS es un API para ayudarle a escribir aplicaciones RESTful tanto en el cliente como en el lado servidor.

JAX-RS utiliza anotaciones para facilitar el desarrollo. JAX-RS está integrado con Java EE desde la vesión 6.

Recursos raíz

Un recurso raíz es un recurso anotado con @PATH; el atributo indica la ruta donde el recursos está localizado. El siguiente es una parte del archivo ProductService.java.

package co.edu.uniandes.csw.product.service;

...
import javax.ws.rs.Path;
...

@Path("/Product")
...
public class ProductService extends _ProductService {

}

Métodos sobre los Recursos

Son métodos java que están ligados a requests HTTP. La asociación se hace a través de las anotaciones @GET, @PUT, …

public abstract class _ProductService {

    ...

    @POST
    public ProductDTO createProduct(ProductDTO product){
        ...
    }

    ...

    @GET
    public List<ProductDTO> getProducts(){
       ...
    }

    ...

}

@Consumes y @Produces

Son anotaciones que indican la representación de los recursos manipulados en los llamados. En nuestro ejemplo, esta representación es en formato JSON.

@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public abstract class _ProductService {

    ...

}