JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.5.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
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. @DefaultValue
14. @Encoded and encoding
15. @Context
16. JAX-RS Resource Locators and Sub Resources
17. JAX-RS Content Negotiation
17.1. URL-based negotiation
17.2. Query String Parameter-based negotiation
18. Content Marshalling/Providers
18.1. Default Providers and default JAX-RS Content Marshalling
18.2. Content Marshalling with @Provider classes
18.3. Providers Utility Class
18.4. Configuring Document Marshalling
18.5. Text media types and character sets
19. JAXB providers
19.1. JAXB Decorators
19.2. Pluggable JAXBContext's with ContextResolvers
19.3. JAXB + XML provider
19.3.1. @XmlHeader and @Stylesheet
19.4. JAXB + JSON provider
19.5. JAXB + FastinfoSet provider
19.6. Arrays and Collections of JAXB Objects
19.6.1. Retrieving Collections on the client side
19.6.2. JSON and JAXB Collections/arrays
19.7. Maps of JAXB Objects
19.7.1. Retrieving Maps on the client side
19.7.2. JSON and JAXB maps
19.7.3. Possible Problems with Jettison Provider
19.8. Interfaces, Abstract Classes, and JAXB
19.9. Configurating JAXB Marshalling
20. RESTEasy Atom Support
20.1. RESTEasy Atom API and Provider
20.2. Using JAXB with the Atom Provider
21. JSON Support via Jackson
21.1. Using Jackson 1.9.x Outside of WildFly
21.2. Using Jackson 1.9.x Inside WildFly 8
21.3. Using Jackson 2 Outside of WildFly
21.4. Using Jackson 2 Inside WildFly 9 and above
21.5. Additional RESTEasy Specifics
21.6. Possible Conflict With JAXB Provider
21.7. JSONP Support
21.8. Jackson JSON Decorator
21.9. JSON Filter Support
22. JSON Support via Java EE 7 JSON-P API
23. Multipart Providers
23.1. Input with multipart/mixed
23.2. java.util.List with multipart data
23.3. Input with multipart/form-data
23.4. java.util.Map with multipart/form-data
23.5. Input with multipart/related
23.6. Output with multipart
23.7. Multipart Output with java.util.List
23.8. Output with multipart/form-data
23.9. Multipart FormData Output with java.util.Map
23.10. Output with multipart/related
23.11. @MultipartForm and POJOs
23.12. XML-binary Optimized Packaging (Xop)
23.13. Note about multipart parsing and working with other frameworks
23.14. Overwriting the default fallback content type for multipart messages
23.15. Overwriting the content type for multipart messages
23.16. Overwriting the default fallback charset for multipart messages
24. YAML Provider
25. JAX-RS 2.1 Additions
25.1. CompletionStage support
25.2. Reactive Clients API
25.3. Server-Sent Events (SSE)
25.3.1. SSE Server
25.3.2. SSE Broadcasting
25.3.3. SSE Client
25.4. Java API for JSON Binding
26. String marshalling for String based @*Param
26.1. Simple conversion
26.2. ParamConverter
26.3. StringParameterUnmarshaller
26.4. Collections
26.4.1. @QueryParam
26.4.2. @MatrixParam
26.4.3. @HeaderParam
26.4.4. @CookieParam
26.4.5. @PathParam
26.5. Extension to ParamConverter semantics
27. Responses using javax.ws.rs.core.Response
28. Exception Handling
28.1. Exception Mappers
28.2. RESTEasy Built-in Internally-Thrown Exceptions
28.3. Overriding RESTEasy Builtin Exceptions
29. Configuring Individual JAX-RS Resource Beans
30. Content encoding
30.1. GZIP Compression/Decompression
30.1.1. Configuring GZIP compression / decompression
30.2. General content encoding
31. CORS
32. Content-Range Support
33. RESTEasy Caching Features
33.1. @Cache and @NoCache Annotations
33.2. Client "Browser" Cache
33.3. Local Server-Side Response Cache
33.4. HTTP preconditions
34. Filters and Interceptors
34.1. Server Side Filters
34.1.1. Asynchronous filters
34.2. Client Side Filters
34.3. Reader and Writer Interceptors
34.4. Per Resource Method Filters and Interceptors
34.5. Ordering
35. Asynchronous HTTP Request Processing
35.1. Using the @Suspended annotation
35.2. Using Reactive return types
35.3. Asynchronous filters
36. Asynchronous Job Service
36.1. Using Async Jobs
36.2. Oneway: Fire and Forget
36.3. Setup and Configuration
37. Reactive programming support
37.1. Plugable reactive types
37.2. Behavior of reactive types
38. Embedded Containers
38.1. Undertow
38.2. Sun JDK HTTP Server
38.3. TJWS Embeddable Servlet Container
38.4. Netty
38.5. Vert.x
39. Server-side Mock Framework
40. Securing JAX-RS and RESTEasy
41. JSON Web Signature and Encryption (JOSE-JWT)
41.1. JSON Web Signature (JWS)
41.2. JSON Web Encryption (JWE)
42. Doseta Digital Signature Framework
42.1. Maven settings
42.2. Signing API
42.2.1. @Signed annotation
42.3. Signature Verification API
42.3.1. Annotation-based verification
42.4. Managing Keys via a KeyRepository
42.4.1. Create a KeyStore
42.4.2. Configure Restreasy to use the KeyRepository
42.4.3. Using DNS to Discover Public Keys
43. Body Encryption and Signing via SMIME
43.1. Maven settings
43.2. Message Body Encryption
43.3. Message Body Signing
43.4. application/pkcs7-signature
44. EJB Integration
45. Spring Integration
46. CDI Integration
46.1. Using CDI beans as JAX-RS components
46.2. Default scopes
46.3. Configuration within WildFly
46.4. Configuration with different distributions
47. Seam Integration
48. Guice 3.0 Integration
48.1. Request Scope
48.2. Binding JAX-RS utilities
48.3. Configuring Stage
48.4. Custom Injector creation
49. RESTEasy Client API
49.1. JAX-RS 2.0 Client API
49.2. RESTEasy Proxy Framework
49.2.1. Abstract Responses
49.2.2. Response proxies
49.2.3. Giving client proxy an ad hoc URI
49.2.4. Sharing an interface between client and server
49.3. Apache HTTP Client 4.x and other backends
49.3.1. HTTP redirect
49.3.2. Apache HTTP Client pre-4.3 APIs
49.3.3. Apache HTTP Client 4.3 APIs
49.3.4. Asynchronous HTTP Request Processing
50. AJAX Client
50.1. Generated JavaScript API
50.1.1. JavaScript API servlet
50.1.2. JavaScript API usage
50.1.3. Work with @Form
50.1.4. MIME types and unmarshalling.
50.1.5. MIME types and marshalling.
50.2. Using the JavaScript API to build AJAX queries
50.2.1. The REST object
50.2.2. The REST.Request class
50.3. Caching Features
51. RESTEasy WADL Support
51.1. RESTEasy WADL Support for Servlet Container
51.2. RESTEasy WADL support for Sun JDK HTTP Server
51.3. RESTEasy WADL support for Netty Container
51.4. RESTEasy WADL Support for Undertow Container
52. Validation
52.1. Violation reporting
52.2. Validation Service Providers
53. Internationalization and Localization
53.1. Internationalization
53.2. Localization
54. Maven and RESTEasy
55. Deprecated Security Modules
56. Documentation Support
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