JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.1.2.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. JSON and JAXB Collections/arrays
19.7. Maps of JAXB Objects
19.7.1. JSON and JAXB maps
19.7.2. 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. String marshalling for String based @*Param
26. Responses using javax.ws.rs.core.Response
27. Exception Handling
27.1. Exception Mappers
27.2. Resteasy Built-in Internally-Thrown Exceptions
27.3. Overriding Resteasy Builtin Exceptions
28. Configuring Individual JAX-RS Resource Beans
29. GZIP Compression/Decompression
29.1. Configuring GZIP compression / decompression
29.1.1. Server side configuration
29.1.2. Client side configuration
30. CORS
31. Content-Range Support
32. Resteasy Caching Features
32.1. @Cache and @NoCache Annotations
32.2. Client "Browser" Cache
32.3. Local Server-Side Response Cache
32.4. HTTP preconditions
33. Filters and Interceptors
33.1. Server Side Filters
33.2. Client Side Filters
33.3. Reader and Writer Interceptors
33.4. Per Resource Method Filters and Interceptors
33.5. Ordering
34. Asynchronous HTTP Request Processing
35. Asynchronous Job Service
35.1. Using Async Jobs
35.2. Oneway: Fire and Forget
35.3. Setup and Configuration
36. Embedded Containers
36.1. Undertow
36.2. Sun JDK HTTP Server
36.3. TJWS Embeddable Servlet Container
36.4. Netty
36.5. Vert.x
37. Server-side Mock Framework
38. Securing JAX-RS and RESTEasy
39. OAuth 2.0 and Resteasy Skeleton Key
39.1. System Requirements
39.2. Generate the Security Domain Key Pair
39.3. Setting up the Auth Server
39.3.1. Setting up your Security Domain
39.3.2. Auth Server Config File
39.3.3. Set up web.xml
39.3.4. Set up jboss-web.xml
39.3.5. Set up jboss-deployment-structure.xml
39.3.6. Tweak your login page
39.4. Setting Up An App for SSO
39.4.1. SSO config file
39.4.2. Set up web.xml
39.4.3. Set up jboss-web.xml
39.4.4. Set up jboss-deployment-structure.xml
39.5. Bearer Token only Setup
39.5.1. Bearer token auth config file
39.5.2. Set up web.xml
39.5.3. Set up jboss-web.xml
39.5.4. Set up jboss-deployment-structure.xml
39.6. Obtaining an access token programmatically.
39.7. Access remote services securely in a secure web session
39.8. Check Out the OAuth2 Example!
39.9. Auth Server Action URLs
40. Authentication
40.1. OAuth core 1.0a
40.1.1. Authenticating with OAuth 1.0a
40.1.2. Accessing protected resources
40.1.3. Implementing an OAuthProvider
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.3. Apache HTTP Client 4.x and other backends
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. Documentation Support
56. Migration to Resteasy 3.1
56.1. Upgrading with Resteasy 3 API
56.2. Upgrading with Resteasy 2 API
57. Migration from older versions
57.1. Migrating from Resteasy 2 to Resteasy 3
57.2. Migrating to 3.0.17
57.3. Migrating from 3.0.13 to 3.0.14
57.4. Migrating from 3.0.12 to 3.0.13
57.5. Migrating to 3.0.12
57.6. Migrating from 3.0.7 to 3.0.9
57.7. Migrating from 3.0.6 to 3.0.7
57.8. Migrating from 3.0 to 3.0.4
57.9. Migrating from 3.0-beta-6 and 3.0-rc-1
57.10. Migrating from 3.0-beta-5 and 3.0-beta-6
57.11. Migrating from 3.0-beta-4 and 3.0-beta-5
57.12. Migrating from 3.0-beta-2 and 3.0-beta-4
57.13. Migrating from 3.0-beta-1 and 3.0-beta-2
57.14. Migrating from 2.x to 3.0-beta-1
57.15. Migrating from 2.3.2 to 2.3.3
57.16. Migrating from 2.3.0 to 2.3.1
57.17. Migrating from 2.2.x to 2.3
57.18. Migrating from 2.2.0 to 2.2.1
57.19. Migrating from 2.1.x to 2.2
57.20. Migrating from 2.0.x to 2.1
57.21. Migrating from 1.2.x to 2.0
57.22. Migrating from 1.2.GA to 1.2.1.GA
57.23. Migrating from 1.1 to 1.2
58. Books You Can Read