JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.0.6.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. 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. Content-Range Support
31. Resteasy Caching Features
31.1. @Cache and @NoCache Annotations
31.2. Client "Browser" Cache
31.3. Local Server-Side Response Cache
32. Filters and Interceptors
32.1. Server Side Filters
32.2. Client Side Filters
32.3. Reader and Writer Interceptors
32.4. Per Resource Method Filters and Interceptors
32.5. Ordering
33. Asynchronous HTTP Request Processing
34. Asynchronous Job Service
34.1. Using Async Jobs
34.2. Oneway: Fire and Forget
34.3. Setup and Configuration
35. Embedded Containers
35.1. Undertow
35.2. Sun JDK HTTP Server
35.3. TJWS Embeddable Servlet Container
35.4. Netty
36. Server-side Mock Framework
37. Securing JAX-RS and RESTeasy
38. OAuth 2.0 and Resteasy Skeleton Key
38.1. System Requirements
38.2. Generate the Security Domain Key Pair
38.3. Setting up the Auth Server
38.3.1. Setting up your Security Domain
38.3.2. Auth Server Config File
38.3.3. Set up web.xml
38.3.4. Set up jboss-web.xml
38.3.5. Set up jboss-deployment-structure.xml
38.3.6. Tweak your login page
38.4. Setting Up An App for SSO
38.4.1. SSO config file
38.4.2. Set up web.xml
38.4.3. Set up jboss-web.xml
38.4.4. Set up jboss-deployment-structure.xml
38.5. Bearer Token only Setup
38.5.1. Bearer token auth config file
38.5.2. Set up web.xml
38.5.3. Set up jboss-web.xml
38.5.4. Set up jboss-deployment-structure.xml
38.6. Obtaining an access token programmatically.
38.7. Access remote services securely in a secure web session
38.8. Check Out the OAuth2 Example!
38.9. Auth Server Action URLs
39. Authentication
39.1. OAuth core 1.0a
39.1.1. Authenticating with OAuth 1.0a
39.1.2. Accessing protected resources
39.1.3. Implementing an OAuthProvider
40. JSON Web Signature and Encryption (JOSE-JWT)
40.1. JSON Web Signature (JWS)
40.2. JSON Web Encryption (JWE)
41. Doseta Digital Signature Framework
41.1. Maven settings
41.2. Signing API
41.2.1. @Signed annotation
41.3. Signature Verification API
41.3.1. Annotation-based verification
41.4. Managing Keys via a KeyRepository
41.4.1. Create a KeyStore
41.4.2. Configure Restreasy to use the KeyRepository
41.4.3. Using DNS to Discover Public Keys
42. Body Encryption and Signing via SMIME
42.1. Maven settings
42.2. Message Body Encryption
42.3. Message Body Signing
42.4. application/pkcs7-signature
43. EJB Integration
44. Spring Integration
45. CDI Integration
45.1. Using CDI beans as JAX-RS components
45.2. Default scopes
45.3. Configuration within JBoss 6 M4 and Higher
45.4. Configuration with different distributions
46. Seam Integration
47. Guice 3.0 Integration
47.1. Request Scope
47.2. Binding JAX-RS utilities
47.3. Configuring Stage
47.4. Custom Injector creation
48. Resteasy Client API
48.1. JAX-RS 2.0 Client API
48.2. Resteasy Proxy Framework
48.3. Apache HTTP Client 4.x and other backends
49. AJAX Client
49.1. Generated JavaScript API
49.1.1. JavaScript API servlet
49.1.2. JavaScript API usage
49.1.3. Work with @Form
49.1.4. MIME types and unmarshalling.
49.1.5. MIME types and marshalling.
49.2. Using the JavaScript API to build AJAX queries
49.2.1. The REST object
49.2.2. The REST.Request class
49.3. Caching Features
50. Validation
50.1. Violation reporting
50.2. Bean Validation 1.1
50.3. Bean Validation 1.0
50.4. Validation Service Providers
51. Maven and RESTEasy
52. JBoss AS 5.x Integration
53. JBoss AS 6/7 Integration
54. Documentation Support
55. Migration from older versions
55.1. Migrating from 3.0 to 3.0.4
55.2. Migrating from 3.0-beta-6 and 3.0-rc-1
55.3. Migrating from 3.0-beta-5 and 3.0-beta-6
55.4. Migrating from 3.0-beta-4 and 3.0-beta-5
55.5. Migrating from 3.0-beta-2 and 3.0-beta-4
55.6. Migrating from 3.0-beta-1 and 3.0-beta-2
55.7. Migrating from 2.x to 3.0-beta-1
55.8. Migrating from 2.3.2 to 2.3.3
55.9. Migrating from 2.3.0 to 2.3.1
55.10. Migrating from 2.2.x to 2.3
55.11. Migrating from 2.2.0 to 2.2.1
55.12. Migrating from 2.1.x to 2.2
55.13. Migrating from 2.0.x to 2.1
55.14. Migrating from 1.2.x to 2.0
55.15. Migrating from 1.2.GA to 1.2.1.GA
55.16. Migrating from 1.1 to 1.2
56. Books You Can Read