JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.0.16.Final


Preface
1. Overview
2. License
3. Installation/Configuration
3.1. Upgrading Resteasy Within JBoss AS 7
3.2. Upgrading Resteasy Within JBoss EAP 6.1
3.3. Upgrading Resteasy Within Wildfly
3.4. Configuring in JBoss AS 7, EAP, and Wildfly
3.4.1. Resteasy Modules in AS7, EAP6.1, Wildfly
3.5. Standalone Resteasy in Servlet 3.0 Containers
3.6. Standalone Resteasy in Older Servlet Containers
3.7. Configuration Switches
3.8. javax.ws.rs.core.Application
3.9. RESTEasy as a ServletContextListener
3.10. RESTEasy as a servlet Filter
3.11. RESTEasyLogging
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
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 JBoss AS7
21.2. Using Jackson 1.9.x Inside of JBoss AS7
21.3. Using Jackson 2.2.x Outside of JBoss AS7
21.4. Using Jackson 2.2.x Inside of JBoss AS7
21.5. Additional Resteasy Specifics
21.6. Possible Conflict With JAXB Provider
21.7. JSONP Support
21.8. Jackson JSON Decorator
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
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
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
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 JBoss 6 M4 and Higher
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. Validation
51.1. Violation reporting
51.2. Bean Validation 1.1
51.3. Bean Validation 1.0
51.4. Validation Service Providers
52. Internationalization and Localization
52.1. Internationalization
52.2. Localization
53. Maven and RESTEasy
54. JBoss AS 5.x Integration
55. JBoss AS 6/7 Integration
56. Documentation Support
57. Migration from older versions
57.1. Migrating from 3.0.7 to 3.0.9
57.2. Migrating from 3.0.6 to 3.0.7
57.3. Migrating from 3.0 to 3.0.4
57.4. Migrating from 3.0-beta-6 and 3.0-rc-1
57.5. Migrating from 3.0-beta-5 and 3.0-beta-6
57.6. Migrating from 3.0-beta-4 and 3.0-beta-5
57.7. Migrating from 3.0-beta-2 and 3.0-beta-4
57.8. Migrating from 3.0-beta-1 and 3.0-beta-2
57.9. Migrating from 2.x to 3.0-beta-1
57.10. Migrating from 2.3.2 to 2.3.3
57.11. Migrating from 2.3.0 to 2.3.1
57.12. Migrating from 2.2.x to 2.3
57.13. Migrating from 2.2.0 to 2.2.1
57.14. Migrating from 2.1.x to 2.2
57.15. Migrating from 2.0.x to 2.1
57.16. Migrating from 1.2.x to 2.0
57.17. Migrating from 1.2.GA to 1.2.1.GA
57.18. Migrating from 1.1 to 1.2
58. Books You Can Read