Rest service para acesso a banco de dados

5 respostas
N

Boa noite.

Ao pesquisar na internet vi alguns exemplos de serviços Rest que fornecem um CRUD ± assim :
GET http://localhost/RestAPI/pessoa/111 -> retorna xml de uma entidade pessoa com cpf 111
etc.
E todo um CRUD.

Minha aplicação cliente recebeum xml e utiliza-o ou cria um objeto com ele.

Teria alguma forma do servico prover um objeto (entidade) ? serializa-lo ?

Estou aprendendo SOA agora , não sei se a dúvida é pertinente.

Grato

5 Respostas

I

O cliente REST vai ter que saber que linguagem foi usada no servidor pra serializar, pra poder desserializar, criando assim um acoplamento com servidor que é justamente o problema que REST pretende eliminar.

Portanto se você pretende seguir o padrão REST, a resposta é não.

N

Entendi.

Então minhas aplicações ainda vão precisar da dependencia de um modulo de entidades para que
baseado no xml seja criado o objeto. Existe alguma forma das aplicações sem ter as classes de entidade criarem um objeto a partiro do xml ?

I

Usar outra classe que não seja de entidade? Usar uma linguagem que não seja baseada em classe (ex. JavaScript)?

Não entendi sua pergunta.

N

Hehehe, ficou confuso mesmo.Vlw as ajudas Impossivel!

Vejo exemplos de codigos clientes assim :

WebTarget webTarget = client
			.target("http://localhost:8888/demo-rest-jersey-spring/podcasts/2");
	Builder request = webTarget.request(MediaType.APPLICATION_JSON);
	Podcast podcast = response.readEntity(Podcast.class);

Neste caso na aplicação existe uma classe chamada “Podcast” para quando receber o json , inserir os dados nela.

Minha dúvida é se tem como elimnar essa necessidade de ter uma classe na aplicação. Se existe alguma forma
de receber a estrutura dela pelo servico.

Outra forma de me expressar:
Hoje na aplicação da padaria tenho a entidade FUNCIONARIO. Quando faco um select no banco passando CPF recebo um objeto FUNCIONARIO.
No futuro o select será feito por um servico rest. Porem minha aplicação ainda deverá possuir a classe FUNCIONARIO para ao receber os dados do servico, enxertar na classe.
Tem como eliminar a necessidade da minha aplicação ter a classe FUNCIONARIO ?

I

Json não é um map? response.readEntity(Map.class) deveria funcionar.

Criado 20 de março de 2015
Ultima resposta 21 de mar. de 2015
Respostas 5
Participantes 2