JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.6.1.Final


Preface
1. Overview
2. License
3. Installation/Configuration
3.1. RESTEasy modules in WildFly
3.1.1. Other RESTEasy modules
3.1.2. Upgrading RESTEasy within WildFly
3.2. Deploying a RESTEasy application to WildFly
3.3. Deploying to other servlet containers
3.3.1. Servlet 3.0 containers
3.3.2. Older servlet containers
3.4. Configuration switches
3.5. javax.ws.rs.core.Application
3.6. RESTEasy as a ServletContextListener
3.7. RESTEasy as a Servlet Filter
3.8. Client side
4. Using @Path and @GET, @POST, etc.
4.1. @Path and regular expression mappings
4.2. JAX-RS 2.0 Matching Algorithm
5. @PathParam
5.1. Advanced @PathParam and Regular Expressions
5.2. @PathParam and PathSegment
6. @QueryParam
7. @HeaderParam
8. Linking resources
8.1. Link Headers
8.2. Atom links in the resource representations
8.2.1. Configuration
8.2.2. Your first links injected
8.2.3. Customising how the Atom links are serialised
8.2.4. Specifying which JAX-RS methods are tied to which resources
8.2.5. Specifying path parameter values for URI templates
8.2.6. Securing entities
8.2.7. Extending the UEL context
8.2.8. Resource facades
9. @MatrixParam
10. @CookieParam
11. @FormParam
12. @Form
13. Improved @…Param annotations
14. @DefaultValue
15. @Encoded and encoding
16. @Context
17. JAX-RS Resource Locators and Sub Resources
18. Resources metadata configuration
19. JAX-RS Content Negotiation
19.1. URL-based negotiation
19.2. Query String Parameter-based negotiation
20. Content Marshalling/Providers
20.1. Default Providers and default JAX-RS Content Marshalling
20.2. Content Marshalling with @Provider classes
20.3. Providers Utility Class
20.4. Configuring Document Marshalling
20.5. Text media types and character sets
21. JAXB providers
21.1. JAXB Decorators
21.2. Pluggable JAXBContext's with ContextResolvers
21.3. JAXB + XML provider
21.3.1. @XmlHeader and @Stylesheet
21.4. JAXB + JSON provider
21.5. JAXB + FastinfoSet provider
21.6. Arrays and Collections of JAXB Objects
21.6.1. Retrieving Collections on the client side
21.6.2. JSON and JAXB Collections/arrays
21.7. Maps of JAXB Objects
21.7.1. Retrieving Maps on the client side
21.7.2. JSON and JAXB maps
21.7.3. Possible Problems with Jettison Provider
21.8. Interfaces, Abstract Classes, and JAXB
21.9. Configurating JAXB Marshalling
22. RESTEasy Atom Support
22.1. RESTEasy Atom API and Provider
22.2. Using JAXB with the Atom Provider
23. JSON Support via Jackson
23.1. Using Jackson 1.9.x Outside of WildFly
23.2. Using Jackson 1.9.x Inside WildFly 8
23.3. Using Jackson 2 Outside of WildFly
23.4. Using Jackson 2 Inside WildFly 9 and above
23.5. Additional RESTEasy Specifics
23.6. Possible Conflict With JAXB Provider
23.7. JSONP Support
23.8. Jackson JSON Decorator
23.9. JSON Filter Support
24. JSON Support via Java EE 7 JSON-P API
25. Multipart Providers
25.1. Input with multipart/mixed
25.2. java.util.List with multipart data
25.3. Input with multipart/form-data
25.4. java.util.Map with multipart/form-data
25.5. Input with multipart/related
25.6. Output with multipart
25.7. Multipart Output with java.util.List
25.8. Output with multipart/form-data
25.9. Multipart FormData Output with java.util.Map
25.10. Output with multipart/related
25.11. @MultipartForm and POJOs
25.12. XML-binary Optimized Packaging (Xop)
25.13. Note about multipart parsing and working with other frameworks
25.14. Overwriting the default fallback content type for multipart messages
25.15. Overwriting the content type for multipart messages
25.16. Overwriting the default fallback charset for multipart messages
26. YAML Provider
27. JAX-RS 2.1 Additions
27.1. CompletionStage support
27.2. Reactive Clients API
27.3. Server-Sent Events (SSE)
27.3.1. SSE Server
27.3.2. SSE Broadcasting
27.3.3. SSE Client
27.4. Java API for JSON Binding
28. String marshalling for String based @*Param
28.1. Simple conversion
28.2. ParamConverter
28.3. StringParameterUnmarshaller
28.4. Collections
28.4.1. @QueryParam
28.4.2. @MatrixParam
28.4.3. @HeaderParam
28.4.4. @CookieParam
28.4.5. @PathParam
28.5. Extension to ParamConverter semantics
29. Responses using javax.ws.rs.core.Response
30. Exception Handling
30.1. Exception Mappers
30.2. RESTEasy Built-in Internally-Thrown Exceptions
30.3. Overriding RESTEasy Builtin Exceptions
31. Configuring Individual JAX-RS Resource Beans
32. Content encoding
32.1. GZIP Compression/Decompression
32.1.1. Configuring GZIP compression / decompression
32.2. General content encoding
33. CORS
34. Content-Range Support
35. RESTEasy Caching Features
35.1. @Cache and @NoCache Annotations
35.2. Client "Browser" Cache
35.3. Local Server-Side Response Cache
35.4. HTTP preconditions
36. Filters and Interceptors
36.1. Server Side Filters
36.1.1. Asynchronous filters
36.2. Client Side Filters
36.3. Reader and Writer Interceptors
36.4. Per Resource Method Filters and Interceptors
36.5. Ordering
37. Asynchronous HTTP Request Processing
37.1. Using the @Suspended annotation
37.2. Using Reactive return types
37.3. Asynchronous filters
38. Asynchronous Job Service
38.1. Using Async Jobs
38.2. Oneway: Fire and Forget
38.3. Setup and Configuration
39. Reactive programming support
39.1. CompletionStage
39.2. CompletionStage in JAX-RS
39.3. Beyond CompletionStage
39.4. Pluggable reactive types: RxJava 2 in RESTEasy
39.5. Proxies
39.6. Adding extensions
40. Embedded Containers
40.1. Undertow
40.2. Sun JDK HTTP Server
40.3. TJWS Embeddable Servlet Container
40.4. Netty
40.5. Vert.x
41. Server-side Mock Framework
42. Securing JAX-RS and RESTEasy
43. JSON Web Signature and Encryption (JOSE-JWT)
43.1. JSON Web Signature (JWS)
43.2. JSON Web Encryption (JWE)
44. Doseta Digital Signature Framework
44.1. Maven settings
44.2. Signing API
44.2.1. @Signed annotation
44.3. Signature Verification API
44.3.1. Annotation-based verification
44.4. Managing Keys via a KeyRepository
44.4.1. Create a KeyStore
44.4.2. Configure Restreasy to use the KeyRepository
44.4.3. Using DNS to Discover Public Keys
45. Body Encryption and Signing via SMIME
45.1. Maven settings
45.2. Message Body Encryption
45.3. Message Body Signing
45.4. application/pkcs7-signature
46. EJB Integration
47. Spring Integration
48. CDI Integration
48.1. Using CDI beans as JAX-RS components
48.2. Default scopes
48.3. Configuration within WildFly
48.4. Configuration with different distributions
49. Guice 3.0 Integration
49.1. Request Scope
49.2. Binding JAX-RS utilities
49.3. Configuring Stage
49.4. Custom Injector creation
50. RESTEasy Client API
50.1. JAX-RS 2.0 Client API
50.2. RESTEasy Proxy Framework
50.2.1. Abstract Responses
50.2.2. Response proxies
50.2.3. Giving client proxy an ad hoc URI
50.2.4. Sharing an interface between client and server
50.3. Apache HTTP Client 4.x and other backends
50.3.1. HTTP redirect
50.3.2. Apache HTTP Client pre-4.3 APIs
50.3.3. Apache HTTP Client 4.3 APIs
50.3.4. Asynchronous HTTP Request Processing
50.3.5. Jetty Client Engine
51. AJAX Client
51.1. Generated JavaScript API
51.1.1. JavaScript API servlet
51.1.2. JavaScript API usage
51.1.3. Work with @Form
51.1.4. MIME types and unmarshalling.
51.1.5. MIME types and marshalling.
51.2. Using the JavaScript API to build AJAX queries
51.2.1. The REST object
51.2.2. The REST.Request class
51.3. Caching Features
52. RESTEasy WADL Support
52.1. RESTEasy WADL Support for Servlet Container
52.2. RESTEasy WADL support for Sun JDK HTTP Server
52.3. RESTEasy WADL support for Netty Container
52.4. RESTEasy WADL Support for Undertow Container
53. Validation
53.1. Violation reporting
53.2. Validation Service Providers
54. Internationalization and Localization
54.1. Internationalization
54.2. Localization
55. Maven and RESTEasy
56. Deprecated Security Modules
57. Migration to RESTEasy 3.5 series
58. Migration to RESTEasy 3.1 series
58.1. Upgrading with RESTEasy 3 API
58.2. Upgrading with RESTEasy 2 API
59. Migration from older versions
59.1. Migrating from RESTEasy 2 to RESTEasy 3
59.2. Migrating from 3.0.x to 4.0.0
60. Books You Can Read