原文链接:http://howtodoinjava.com/restful-web-service/
参考链接:
JAX-RS 2.0 is a framework designed to help you write RESTful applications both on the client and server side. Below tutorials are build using RESTEasy framework.
Get more JAX-RS tutorials on Jersey and Dropwizard pages.
Hello world application
RESTEasy + JBOSS 7 Hello world application
Learn about most basic configuration needed to build a RESTful web application in JBOSS AS7.
RESTEasy + Tomcat Hello world application
Learn about minimum configuration needed to build a RESTful web application using Tomcat server.
REST clients
RESTful client using java.net package
Build restful client for consuming the restful apis using java.net package
.
RESTEasy client example
Build restful client for consuming the restful apis using inbuilt jax-rs capabilities.
Apache HttpClient example
Build restful client for consuming the restful apis using apache http client framework.
Ajax/ JavaScript client Example
Learn to build resteasy ajax client
JAX-RS 2.0 client API example
JAX-RS 2.0 has brought lots of improvement over previous version. One of major improvement is client API which was completely missing in JAX-RS 1.0. Learn to use in this tutorial.
XML/JSON support
RESTEasy + JAXB xml example
Learn to marshal model objects in xml documents using JAXB and send them to client as server response
RESTEasy + Jettison json example
Learn to marshal model objects in json documents using Jettison and send them to client as server response
RESTEasy + Jackson JSON example
Learn to marshal model objects in json documents using Jackson and send them to client as server response
File Download/Upload
RESTEasy + File download example
This example shows the configuration and code needed to download various file formats using RESTful API
RESTEasy + File Upload + HttpClient pure java client example
Upload the file to server using pure java client
RESTEasy + File Upload + HTML form example
Upload the file to server using html form submission
Annotations usage and examples
JAX-RS @Path Regex based URI matching
Example of API path matching using @Path annotation. Some regular expression examples are also included.
Hateoas Implementation
RESTful web services HATEOAS example
Learn making RESTful web services with HATEOAS links enabled
JAX-RS Security
Basic authentication and authorization example using PreProcessorInterceptor
Implement security using PreProcessorInterceptor
.
JAX-RS 2.0 RESTEasy 3.0.2.Final security example using ContainerRequestFilter
PreProcessorInterceptor
and PostProcessorInterceptor
are deprecated now. So from now on, use ContainerRequestFilter
and ContainerReponseFilter
. Learn to use them in this tutorial.
REST Security Guide
Knowledge of securing RESTful Web Services is as much important as to write them. It’s very important to write secure APIs to protect the business. But before starting to secure RESTful APIs, let’s understand what are our options as developers? What will be good fit for our usecase?
Request Validation
Custom html form validation using ajax
Build ajax powered html form validation functionality for your web page
Hibernate validator provider demo
Integrate hibernate bean validation capability to your RESTEasy APIs
Various Integrations
RESTful web services using Spring 3 mvc
Learn how to write RESTful web services using Spring 3 framework
Logging Support
RESTEasy + Log4j example
Demo configuration to add log4j logging support in RESTEasy application
RESTEasy + SLF4jexample
Demo configuration to add slf4j logging support in RESTEasy application
Best practices
Share context data using ResteasyProviderFactory
ResteasyProviderFacory
can be proved very handy when you want to share some data in various layers of application without passing them as method parameters
Exception handling using custom exception mapper
Build custom exception mappers to handle application specific handling of various exceptions
Enable gzip compression content encoding
JAX-RS Resteasy has automatic GZIP decompression support. Learn to use it.
JAX-RS RESTEasy Cache control with ETag example
ETags or entity tags are useful HTTP headers which can help in building a super fast application by minimizing the server load on system. ETag is set to the response to the client so a client can use various control request headers such as If-Match
and If-None-Match
for conditional requests. javax.ws.rs.core.Response.ResponseBuilder#tag(
) and javax.ws.rs.core.EntityTag
are useful classes to work on ETags.