JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.0.4.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
22. Multipart Providers
22.1. Input with multipart/mixed
22.2. java.util.List with multipart data
22.3. Input with multipart/form-data
22.4. java.util.Map with multipart/form-data
22.5. Input with multipart/related
22.6. Output with multipart
22.7. Multipart Output with java.util.List
22.8. Output with multipart/form-data
22.9. Multipart FormData Output with java.util.Map
22.10. Output with multipart/related
22.11. @MultipartForm and POJOs
22.12. XML-binary Optimized Packaging (Xop)
22.13. Note about multipart parsing and working with other frameworks
22.14. Overwriting the default fallback content type for multipart messages
22.15. Overwriting the content type for multipart messages
22.16. Overwriting the default fallback charset for multipart messages
23. YAML Provider
24. String marshalling for String based @*Param
25. Responses using javax.ws.rs.core.Response
26. Exception Handling
26.1. Exception Mappers
26.2. Resteasy Built-in Internally-Thrown Exceptions
26.3. Overriding Resteasy Builtin Exceptions
27. Configuring Individual JAX-RS Resource Beans
28. GZIP Compression/Decompression
29. Content-Range Support
30. Resteasy Caching Features
30.1. @Cache and @NoCache Annotations
30.2. Client "Browser" Cache
30.3. Local Server-Side Response Cache
31. Filters and Interceptors
31.1. Server Side Filters
31.2. Client Side Filters
31.3. Reader and Writer Interceptors
31.4. Per Resource Method Filters and Interceptors
31.5. Ordering
32. Asynchronous HTTP Request Processing
33. Asynchronous Job Service
33.1. Using Async Jobs
33.2. Oneway: Fire and Forget
33.3. Setup and Configuration
34. Embedded Containers
34.1. Undertow
34.2. Sun JDK HTTP Server
34.3. TJWS Embeddable Servlet Container
34.4. Netty
35. Server-side Mock Framework
36. Securing JAX-RS and RESTeasy
37. OAuth 2.0 and Resteasy Skeleton Key
37.1. System Requirements
37.2. Generate the Security Domain Key Pair
37.3. Setting up the Auth Server
37.3.1. Setting up your Security Domain
37.3.2. Auth Server Config File
37.3.3. Set up web.xml
37.3.4. Set up jboss-web.xml
37.3.5. Set up jboss-deployment-structure.xml
37.3.6. Tweak your login page
37.4. Setting Up An App for SSO
37.4.1. SSO config file
37.4.2. Set up web.xml
37.4.3. Set up jboss-web.xml
37.4.4. Set up jboss-deployment-structure.xml
37.5. Bearer Token only Setup
37.5.1. Bearer token auth config file
37.5.2. Set up web.xml
37.5.3. Set up jboss-web.xml
37.5.4. Set up jboss-deployment-structure.xml
37.6. Obtaining an access token programmatically.
37.7. Access remote services securely in a secure web session
37.8. Check Out the OAuth2 Example!
37.9. Auth Server Action URLs
38. Authentication
38.1. OAuth core 1.0a
38.1.1. Authenticating with OAuth 1.0a
38.1.2. Accessing protected resources
38.1.3. Implementing an OAuthProvider
39. JSON Web Signature and Encryption (JOSE-JWT)
39.1. JSON Web Signature (JWS)
39.2. JSON Web Encryption (JWE)
40. Doseta Digital Signature Framework
40.1. Maven settings
40.2. Signing API
40.2.1. @Signed annotation
40.3. Signature Verification API
40.3.1. Annotation-based verification
40.4. Managing Keys via a KeyRepository
40.4.1. Create a KeyStore
40.4.2. Configure Restreasy to use the KeyRepository
40.4.3. Using DNS to Discover Public Keys
41. Body Encryption and Signing via SMIME
41.1. Maven settings
41.2. Message Body Encryption
41.3. Message Body Signing
41.4. application/pkcs7-signature
42. EJB Integration
43. Spring Integration
44. CDI Integration
44.1. Using CDI beans as JAX-RS components
44.2. Default scopes
44.3. Configuration within JBoss 6 M4 and Higher
44.4. Configuration with different distributions
45. Seam Integration
46. Guice 3.0 Integration
46.1. Request Scope
46.2. Binding JAX-RS utilities
46.3. Configuring Stage
46.4. Custom Injector creation
47. Resteasy Client API
47.1. JAX-RS 2.0 Client API
47.2. Resteasy Proxy Framework
47.3. Apache HTTP Client 4.x and other backends
48. AJAX Client
48.1. Generated JavaScript API
48.1.1. JavaScript API servlet
48.1.2. JavaScript API usage
48.1.3. Work with @Form
48.1.4. MIME types and unmarshalling.
48.1.5. MIME types and marshalling.
48.2. Using the JavaScript API to build AJAX queries
48.2.1. The REST object
48.2.2. The REST.Request class
48.3. Caching Features
49. Validation
49.1. Violation reporting
49.2. Bean Validation 1.1
49.3. Bean Validation 1.0
49.4. Validation Service Providers
50. Maven and RESTEasy
51. JBoss AS 5.x Integration
52. JBoss AS 6/7 Integration
53. Documentation Support
54. Migration from older versions
54.1. Migrating from 3.0 to 3.0.4
54.2. Migrating from 3.0-beta-6 and 3.0-rc-1
54.3. Migrating from 3.0-beta-5 and 3.0-beta-6
54.4. Migrating from 3.0-beta-4 and 3.0-beta-5
54.5. Migrating from 3.0-beta-2 and 3.0-beta-4
54.6. Migrating from 3.0-beta-1 and 3.0-beta-2
54.7. Migrating from 2.x to 3.0-beta-1
54.8. Migrating from 2.3.2 to 2.3.3
54.9. Migrating from 2.3.0 to 2.3.1
54.10. Migrating from 2.2.x to 2.3
54.11. Migrating from 2.2.0 to 2.2.1
54.12. Migrating from 2.1.x to 2.2
54.13. Migrating from 2.0.x to 2.1
54.14. Migrating from 1.2.x to 2.0
54.15. Migrating from 1.2.GA to 1.2.1.GA
54.16. Migrating from 1.1 to 1.2
55. Books You Can Read