package br.com.caelum.example.controller; import static br.com.caelum.vraptor.view.Results.representation; import static br.com.caelum.vraptor.view.Results.status; import br.com.caelum.vraptor.Consumes; import br.com.caelum.vraptor.Get; import br.com.caelum.vraptor.Path; import br.com.caelum.vraptor.Post; import br.com.caelum.vraptor.Resource; import br.com.caelum.vraptor.Result; @Resource public class BasketsController { private final Result result; private final Baskets baskets; public BasketsController(Result result, Baskets baskets) { this.result = result; this.baskets = baskets; } @Get @Path("/basket/{id}") public void show(Long id) { result.use(representation()).from(baskets.get(id)).recursive().serialize(); } @Post @Path("/basket") @Consumes("application/xml") public void create(Basket basket) { baskets.save(basket); result.use(status()).created("/basket/" + basket.getId()); } }