Apos concluir o curso de SpringMVC estou estudando por conta própria e estou com algumas duvidas sobre como trabalhar com a WEB API com SpringMVC.
Queria criar um Serviço que cadastrasse recursos na minha aplicação.
Ja fiz o curso de JAX-RS e tenho uma noção de como fazer, mas sei que com spring eu tenho varias anotações e beans que me ajudam na criação desses recursos com facilidade, por exemplo:
criar um serviço que produces alguma coisa eu consegui tranquilamente, ate pq no curso aparece alguma coisa:
@RequestMapping(value = "/lista")
@ResponseBody
public List<Pedido> listaService() {
List<Pedido> pedidos = dao.lista();
return pedidos;
}
unica duvida aqui é que eu queria passar um MediaType dentro do RequestMaping, mas n estou conseguindo. produces = MediaType.APPLICATION_JSON não funciona porque ?
Agora outra duvida: na hora de criar um serviço para cadastrar um "Pedido" eu estou totalmente perdido. Oque tenho ate agora é:
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON)
public ResponseEntity<Pedido>cadastra(@RequestBody Pedido pedido){
return ResponseEntity<Pedido>(pedido ,HttpStatus.CREATED);
}
Poderiam me explicar como funciona o consumes/produces dentro do @ResquestMapping, e também como eu devo retornar corretamente essa ResponseEntity<>, e o que significa o @RequestBody. e também a diferença entre a anotação @RestController e @Controller.
Qualquer artigo ou vídeo aula que possa me dar uma luz seria de grande ajuda para destravar essa parte dos meus estudos.