Criando um WebService Restful em Java
Fonte: http://www.k19.com.br/artigos/criando-um-webservice-restful-em-java/
CRUD Jersey RESTFul WebServices e AngularJS
http://techbusters.com.br/crud-jersey-restful-web-services-e-angularjs/
Geração de documentação da API:
Generating documentation for Java Jersey framework
How to automate documentation of a REST API
http://swagger.io/
Configurações para retornar os dados no formato JSON:
JSON example with Jersey + Jackson
Fonte: http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/
Tópico principal:
“2. Integrate JSON with Jersey
In web.xml, declares “com.sun.jersey.api.json.POJOMappingFeature” as “init-param” in Jersey mapped servlet. It will make Jersey support JSON/object mapping.
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
File : web.xml – full example.
<web-app …>
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.mkyong.rest</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>”
Soluções de erros apresentados na implementação:
“Malformed json: unexpecte“
Caso essa mensagem seja apresentada, em uma requisição GET que espera os dados no formato Json, verificar se os getters dos atributos da classe do objeto retornado estão com seus modificadores como públicos.
Solução obtida nesse post: http://stackoverflow.com/questions/8367312/serializing-with-jackson-json-getting-no-serializer-found
“I have the same problem in my source code. I just added getter and setter
the problem solved.”
Projeto implementado para download: JeeRestfulSketch