Qual é a melhor Java-way para criar serviços JSON / XML Web REST que é semelhante ao WCF?

StackOverflow https://stackoverflow.com/questions/764707

Pergunta

Eu estou procurando uma melhor maneira que está disponível para os desenvolvedores Java para implementar serviços REST que será comunicando via JSON ou XML. Estou à procura de produtos prontos para produção.

Eu sei que Spring 3.0 está chegando, mas não é feito ainda - sem sorte

.

é Jersey aquele?

Meu aplicativo é hospedado pelo Tomcat, usa Spring, Jettison e XStream.

Eu gostaria de usar um pacote de código-fonte aberto que permita-me assim que tem uma experiência de desenvolvimento semelhante ao WCF.NET, onde posso declarar os modelos de URL, mapa GET / POST e obter uma saída tanto em XML ou JSON . A carga útil aceite deve ser XML ou JSON também.

Todas as idéias lá fora?

Foi útil?

Solução

Jersey, RESTEasy e Restlet todo direito de fazer o que você está pedindo. Eu só tentei Restlet, e eu pensei que era bastante desagradável.

Spring 3 não chegou a versão final ainda, mas a construção M2 parece ser bastante sólido, e tem o material descansar lá. Se eu estivesse construindo um novo webapp REST, eu provavelmente iria assumir o risco com M2.

Outras dicas

Eu tentei com Restlet, Resteasy, Jersey, CXF, Primavera. Aqui estão as minhas feedbacks:

  1. Restlet: Tipo de desagradável com seu próprio conjunto de anotações. E pouco confuso também. Não posso culpar muito embora, enquanto olhavam implementação deste mesmo antes de JAX-RS estava lá.

  2. Resteasy / Jersey / CXF: Tão fácil como seu nome é. Simples e direta para começar a trabalhar nele. Boa parte para estes 3 quadro é que, como eles são compatíveis com JAX-RS, a qualquer momento no futuro pode rapidamente cair de volta para que outros JAX-RS quadro compatível se o seu desempenho melhor ou adequando suas necessidades ainda melhor

  3. Spring: Spring 3 começaram a apoiar APIs REST. Mas fazer um não que não é JAX-RS complacente, pela simples razão de que para Restlet.

    Então eu escolheria apenas a partir Resteasy / Jersey / CXF.

Sim, Jersey é bastante boa e com base na sua descrição faria exatamente o que você quer.

Eu não iria esperar para a Primavera-WS-coisa - Jersey é bom, e eu não sei o que beneficia há a alternativa da Primavera, além de "marca Primavera". Para mim JAX-RS (que implementa Jersey) é um bom exemplo de escolha e utilização de melhores componentes que implementam APIs abertas; Jersey é executado em (entre outras coisas) qualquer servlet container, pode usar melhor XML / JSON / etc analisadores, use validação pluggable (Bean Validation API) e assim por diante. Mesmo deve ser verdade para outras implementações JAX-RS também (como Resteasy).

Eu usei e cometeu alguns patches para CXF. Ele suporta JAX-RS e é totalmente configurável com mola. Há um bom tutorial aqui:

http://cwiki.apache.org/CXF20DOC/jax-rs.html

CXF é um projeto Apache e como JAX-RS é um padrão que você não deve ter problemas se afastando-lo se você tiver qualquer dificuldade.

Espero que isso ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top