JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.8.0.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
4.2. JAX-RS 2.0 Matching Algorithm
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. Improved @…Param annotations
14. @DefaultValue
15. @Encoded and encoding
16. @Context
17. JAX-RS Resource Locators and Sub Resources
18. Resources metadata configuration
19. JAX-RS Content Negotiation
19.1. URL-based negotiation
19.2. Query String Parameter-based negotiation
20. Content Marshalling/Providers
20.1. Default Providers and default JAX-RS Content Marshalling
20.2. Content Marshalling with @Provider classes
20.3. Providers Utility Class
20.4. Configuring Document Marshalling
20.5. Text media types and character sets
21. JAXB providers
21.1. JAXB Decorators
21.2. Pluggable JAXBContext's with ContextResolvers
21.3. JAXB + XML provider
21.3.1. @XmlHeader and @Stylesheet
21.4. JAXB + JSON provider
21.5. JAXB + FastinfoSet provider
21.6. Arrays and Collections of JAXB Objects
21.6.1. Retrieving Collections on the client side
21.6.2. JSON and JAXB Collections/arrays
21.7. Maps of JAXB Objects
21.7.1. Retrieving Maps on the client side
21.7.2. JSON and JAXB maps
21.7.3. Possible Problems with Jettison Provider
21.8. Interfaces, Abstract Classes, and JAXB
21.9. Configurating JAXB Marshalling
22. RESTEasy Atom Support
22.1. RESTEasy Atom API and Provider
22.2. Using JAXB with the Atom Provider
23. JSON Support via Jackson
23.1. Using Jackson 1.9.x Outside of WildFly
23.2. Using Jackson 1.9.x Inside WildFly 8
23.3. Using Jackson 2 Outside of WildFly
23.4. Using Jackson 2 Inside WildFly 9 and above
23.5. Additional RESTEasy Specifics
23.6. Possible Conflict With JAXB Provider
23.7. JSONP Support
23.8. Jackson JSON Decorator
23.9. JSON Filter Support
24. JSON Support via Java EE 7 JSON-P API
25. Multipart Providers
25.1. Input with multipart/mixed
25.2. java.util.List with multipart data
25.3. Input with multipart/form-data
25.4. java.util.Map with multipart/form-data
25.5. Input with multipart/related
25.6. Output with multipart
25.7. Multipart Output with java.util.List
25.8. Output with multipart/form-data
25.9. Multipart FormData Output with java.util.Map
25.10. Output with multipart/related
25.11. @MultipartForm and POJOs
25.12. XML-binary Optimized Packaging (Xop)
25.13. Note about multipart parsing and working with other frameworks
25.14. Overwriting the default fallback content type for multipart messages
25.15. Overwriting the content type for multipart messages
25.16. Overwriting the default fallback charset for multipart messages
26. YAML Provider
27. Client providers with @Provider annotation
28. JAX-RS 2.1 Additions
28.1. CompletionStage support
28.2. Reactive Clients API
28.3. Server-Sent Events (SSE)
28.3.1. SSE Server
28.3.2. SSE Broadcasting
28.3.3. SSE Client
28.4. Java API for JSON Binding
29. String marshalling for String based @*Param
29.1. Simple conversion
29.2. ParamConverter
29.3. StringParameterUnmarshaller
29.4. Collections
29.4.1. @QueryParam
29.4.2. @MatrixParam
29.4.3. @HeaderParam
29.4.4. @CookieParam
29.4.5. @PathParam
29.5. Extension to ParamConverter semantics
30. Responses using javax.ws.rs.core.Response
31. Exception Handling
31.1. Exception Mappers
31.2. RESTEasy Built-in Internally-Thrown Exceptions
31.3. Overriding RESTEasy Builtin Exceptions
32. Configuring Individual JAX-RS Resource Beans
33. Content encoding
33.1. GZIP Compression/Decompression
33.1.1. Configuring GZIP compression / decompression
33.2. General content encoding
34. CORS
35. Content-Range Support
36. RESTEasy Caching Features
36.1. @Cache and @NoCache Annotations
36.2. Client "Browser" Cache
36.3. Local Server-Side Response Cache
36.4. HTTP preconditions
37. Filters and Interceptors
37.1. Server Side Filters
37.1.1. Asynchronous filters
37.2. Client Side Filters
37.3. Reader and Writer Interceptors
37.4. Per Resource Method Filters and Interceptors
37.5. Ordering
38. Asynchronous HTTP Request Processing
38.1. Using the @Suspended annotation
38.2. Using Reactive return types
38.3. Asynchronous filters
39. Asynchronous Job Service
39.1. Using Async Jobs
39.2. Oneway: Fire and Forget
39.3. Setup and Configuration
40. Reactive programming support
40.1. CompletionStage
40.2. CompletionStage in JAX-RS
40.3. Beyond CompletionStage
40.4. Pluggable reactive types: RxJava 2 in RESTEasy
40.5. Proxies
40.6. Adding extensions
41. Embedded Containers
41.1. Undertow
41.2. Sun JDK HTTP Server
41.3. TJWS Embeddable Servlet Container
41.4. Netty
41.5. Vert.x
42. Server-side Mock Framework
43. Securing JAX-RS and RESTEasy
44. JSON Web Signature and Encryption (JOSE-JWT)
44.1. JSON Web Signature (JWS)
44.2. JSON Web Encryption (JWE)
45. Doseta Digital Signature Framework
45.1. Maven settings
45.2. Signing API
45.2.1. @Signed annotation
45.3. Signature Verification API
45.3.1. Annotation-based verification
45.4. Managing Keys via a KeyRepository
45.4.1. Create a KeyStore
45.4.2. Configure Restreasy to use the KeyRepository
45.4.3. Using DNS to Discover Public Keys
46. Body Encryption and Signing via SMIME
46.1. Maven settings
46.2. Message Body Encryption
46.3. Message Body Signing
46.4. application/pkcs7-signature
47. EJB Integration
48. Spring Integration
48.1. Basic Integration
48.2. Spring MVC Integration
48.3. JAX-RS with Spring MVC
48.4. Spring Boot starter
48.5. Undertow Embedded Spring Container
48.6. Upgrading in WildFly
49. CDI Integration
49.1. Using CDI beans as JAX-RS components
49.2. Default scopes
49.3. Configuration within WildFly
49.4. Configuration with different distributions
50. Guice 3.0 Integration
50.1. Request Scope
50.2. Binding JAX-RS utilities
50.3. Configuring Stage
50.4. Custom Injector creation
51. RESTEasy Client API
51.1. JAX-RS 2.0 Client API
51.2. RESTEasy Proxy Framework
51.2.1. Abstract Responses
51.2.2. Response proxies
51.2.3. Giving client proxy an ad hoc URI
51.2.4. Sharing an interface between client and server
51.3. Apache HTTP Client 4.x and other backends
51.3.1. HTTP redirect
51.3.2. Configuring SSL
51.3.3. HTTP proxy
51.3.4. Apache HTTP Client pre-4.3 APIs
51.3.5. Apache HTTP Client 4.3 APIs
51.3.6. Asynchronous HTTP Request Processing
51.3.7. Jetty Client Engine
52. MicroProfile Rest Client
52.1. Client proxies
52.2. Concepts imported from JAX-RS
52.3. Beyond JAX-RS and RESTEasy
53. AJAX Client
53.1. Generated JavaScript API
53.1.1. JavaScript API servlet
53.1.2. JavaScript API usage
53.1.3. Work with @Form
53.1.4. MIME types and unmarshalling.
53.1.5. MIME types and marshalling.
53.2. Using the JavaScript API to build AJAX queries
53.2.1. The REST object
53.2.2. The REST.Request class
53.3. Caching Features
54. RESTEasy WADL Support
54.1. RESTEasy WADL Support for Servlet Container
54.2. RESTEasy WADL support for Sun JDK HTTP Server
54.3. RESTEasy WADL support for Netty Container
54.4. RESTEasy WADL Support for Undertow Container
55. Validation
55.1. Violation reporting
55.2. Validation Service Providers
56. Internationalization and Localization
56.1. Internationalization
56.2. Localization
57. Maven and RESTEasy
58. Deprecated Security Modules
59. Migration to RESTEasy 3.5 series
60. Migration to RESTEasy 3.1 series
60.1. Upgrading with RESTEasy 3 API
60.2. Upgrading with RESTEasy 2 API
61. Migration from older versions
61.1. Migrating from RESTEasy 2 to RESTEasy 3
61.2. Migrating from 3.0.x to 4.0.0
62. Books You Can Read