JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.0.0.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.1. Resteasy Modules in AS7, EAP6.1, Wildfly
3.5. Standalone Resteasy
3.6. Configuration Switches
3.7. javax.ws.rs.core.Application
3.8. RESTEasy as a ServletContextListener
3.9. RESTEasy as a servlet Filter
3.10. 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. Sun JDK HTTP Server
34.2. TJWS Embeddable Servlet Container
34.3. 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. Doseta Digital Signature Framework
39.1. Maven settings
39.2. Signing API
39.2.1. @Signed annotation
39.3. Signature Verification API
39.3.1. Annotation-based verification
39.4. Managing Keys via a KeyRepository
39.4.1. Create a KeyStore
39.4.2. Configure Restreasy to use the KeyRepository
39.4.3. Using DNS to Discover Public Keys
40. Body Encryption and Signing via SMIME
40.1. Maven settings
40.2. Message Body Encryption
40.3. Message Body Signing
40.4. application/pkcs7-signature
41. EJB Integration
42. Spring Integration
43. CDI Integration
43.1. Using CDI beans as JAX-RS components
43.2. Default scopes
43.3. Configuration within JBoss 6 M4 and Higher
43.4. Configuration with different distributions
44. Seam Integration
45. Guice 3.0 Integration
45.1. Request Scope
45.2. Binding JAX-RS utilities
45.3. Configuring Stage
45.4. Custom Injector creation
46. Resteasy Client API
46.1. JAX-RS 2.0 Client API
46.2. Resteasy Proxy Framework
46.3. Apache HTTP Client 4.x and other backends
47. AJAX Client
47.1. Generated JavaScript API
47.1.1. JavaScript API servlet
47.1.2. JavaScript API usage
47.1.3. Work with @Form
47.1.4. MIME types and unmarshalling.
47.1.5. MIME types and marshalling.
47.2. Using the JavaScript API to build AJAX queries
47.2.1. The REST object
47.2.2. The REST.Request class
47.3. Caching Features
48. Validation
48.1. Bean Validation 1.1
48.2. Bean Validation 1.0
48.3. Validation Service Providers
49. Maven and RESTEasy
50. JBoss AS 5.x Integration
51. JBoss AS 6/7 Integration
52. Documentation Support
53. Migration from older versions
53.1. Migrating from 3.0-beta-6 and 3.0-rc-1
53.2. Migrating from 3.0-beta-5 and 3.0-beta-6
53.3. Migrating from 3.0-beta-4 and 3.0-beta-5
53.4. Migrating from 3.0-beta-2 and 3.0-beta-4
53.5. Migrating from 3.0-beta-1 and 3.0-beta-2
53.6. Migrating from 2.x to 3.0-beta-1
53.7. Migrating from 2.3.2 to 2.3.3
53.8. Migrating from 2.3.0 to 2.3.1
53.9. Migrating from 2.2.x to 2.3
53.10. Migrating from 2.2.0 to 2.2.1
53.11. Migrating from 2.1.x to 2.2
53.12. Migrating from 2.0.x to 2.1
53.13. Migrating from 1.2.x to 2.0
53.14. Migrating from 1.2.GA to 1.2.1.GA
53.15. Migrating from 1.1 to 1.2
54. Books You Can Read