JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

3.15.1.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. Configuring RESTEasy
3.4.1. RESTEasy with MicroProfile Config
3.4.2. RESTEasy's classic configuration mechanism
3.5. Configuration switches
3.6. javax.ws.rs.core.Application
3.7. RESTEasy as a ServletContextListener
3.8. RESTEasy as a Servlet Filter
3.9. Client side
3.10. Configuring Providers
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. Optional parameter types
15. @DefaultValue
16. @Encoded and encoding
17. @Context
18. JAX-RS Resource Locators and Sub Resources
19. Resources metadata configuration
20. JAX-RS Content Negotiation
20.1. URL-based negotiation
20.2. Query String Parameter-based negotiation
21. Content Marshalling/Providers
21.1. Default Providers and default JAX-RS Content Marshalling
21.2. Content Marshalling with @Provider classes
21.3. Providers Utility Class
21.4. Configuring Document Marshalling
21.5. Text media types and character sets
22. JAXB providers
22.1. JAXB Decorators
22.2. Pluggable JAXBContext's with ContextResolvers
22.3. JAXB + XML provider
22.3.1. @XmlHeader and @Stylesheet
22.4. JAXB + JSON provider
22.5. JAXB + FastinfoSet provider
22.6. Arrays and Collections of JAXB Objects
22.6.1. Retrieving Collections on the client side
22.6.2. JSON and JAXB Collections/arrays
22.7. Maps of JAXB Objects
22.7.1. Retrieving Maps on the client side
22.7.2. JSON and JAXB maps
22.7.3. Possible Problems with Jettison Provider
22.8. Interfaces, Abstract Classes, and JAXB
22.9. Configurating JAXB Marshalling
23. RESTEasy Atom Support
23.1. RESTEasy Atom API and Provider
23.2. Using JAXB with the Atom Provider
24. JSON Support via Jackson
24.1. Using Jackson 1.9.x Outside of WildFly
24.2. Using Jackson 1.9.x Inside WildFly 8
24.3. Using Jackson 2 Outside of WildFly
24.4. Using Jackson 2 Inside WildFly 9 and above
24.5. Additional RESTEasy Specifics
24.6. Possible Conflict With JAXB Provider
24.7. JSONP Support
24.8. Jackson JSON Decorator
24.9. JSON Filter Support
24.10. Polymorphic Typing deserialization
25. JSON Support via Java EE 7 JSON-P API
26. Multipart Providers
26.1. Input with multipart/mixed
26.2. java.util.List with multipart data
26.3. Input with multipart/form-data
26.4. java.util.Map with multipart/form-data
26.5. Input with multipart/related
26.6. Output with multipart
26.7. Multipart Output with java.util.List
26.8. Output with multipart/form-data
26.9. Multipart FormData Output with java.util.Map
26.10. Output with multipart/related
26.11. @MultipartForm and POJOs
26.12. XML-binary Optimized Packaging (Xop)
26.13. Note about multipart parsing and working with other frameworks
26.14. Overwriting the default fallback content type for multipart messages
26.15. Overwriting the content type for multipart messages
26.16. Overwriting the default fallback charset for multipart messages
27. YAML Provider
28. Client providers with @Provider annotation
29. JAX-RS 2.1 Additions
29.1. CompletionStage support
29.2. Reactive Clients API
29.3. Server-Sent Events (SSE)
29.3.1. SSE Server
29.3.2. SSE Broadcasting
29.3.3. SSE Client
29.4. Java API for JSON Binding
30. String marshalling for String based @*Param
30.1. Simple conversion
30.2. ParamConverter
30.3. StringParameterUnmarshaller
30.4. Collections
30.4.1. @QueryParam
30.4.2. @MatrixParam
30.4.3. @HeaderParam
30.4.4. @CookieParam
30.4.5. @PathParam
30.5. Extension to ParamConverter semantics
31. Responses using javax.ws.rs.core.Response
32. Exception Handling
32.1. Exception Mappers
32.2. RESTEasy Built-in Internally-Thrown Exceptions
32.3. Resteasy WebApplicationExceptions
32.4. Overriding RESTEasy Builtin Exceptions
33. Configuring Individual JAX-RS Resource Beans
34. Content encoding
34.1. GZIP Compression/Decompression
34.1.1. Configuring GZIP compression / decompression
34.2. General content encoding
35. CORS
36. Content-Range Support
37. RESTEasy Caching Features
37.1. @Cache and @NoCache Annotations
37.2. Client "Browser" Cache
37.3. Local Server-Side Response Cache
37.4. HTTP preconditions
38. Filters and Interceptors
38.1. Server Side Filters
38.1.1. Asynchronous filters
38.2. Client Side Filters
38.3. Reader and Writer Interceptors
38.4. Per Resource Method Filters and Interceptors
38.5. Ordering
39. Asynchronous HTTP Request Processing
39.1. Using the @Suspended annotation
39.2. Using Reactive return types
39.3. Asynchronous filters
40. Asynchronous Job Service
40.1. Using Async Jobs
40.2. Oneway: Fire and Forget
40.3. Setup and Configuration
41. Reactive programming support
41.1. CompletionStage
41.2. CompletionStage in JAX-RS
41.3. Beyond CompletionStage
41.4. Pluggable reactive types: RxJava 2 in RESTEasy
41.5. Proxies
41.6. Adding extensions
42. Embedded Containers
42.1. Undertow
42.2. Sun JDK HTTP Server
42.3. TJWS Embeddable Servlet Container
42.4. Netty
42.5. Vert.x
43. Server-side Mock Framework
44. Securing JAX-RS and RESTEasy
45. JSON Web Signature and Encryption (JOSE-JWT)
45.1. JSON Web Signature (JWS)
45.2. JSON Web Encryption (JWE)
46. Doseta Digital Signature Framework
46.1. Maven settings
46.2. Signing API
46.2.1. @Signed annotation
46.3. Signature Verification API
46.3.1. Annotation-based verification
46.4. Managing Keys via a KeyRepository
46.4.1. Create a KeyStore
46.4.2. Configure Restreasy to use the KeyRepository
46.4.3. Using DNS to Discover Public Keys
47. Body Encryption and Signing via SMIME
47.1. Maven settings
47.2. Message Body Encryption
47.3. Message Body Signing
47.4. application/pkcs7-signature
48. EJB Integration
49. Spring Integration
49.1. Basic Integration
49.2. Customized Configuration
49.3. Spring MVC Integration
49.4. JAX-RS with Spring MVC
49.5. Spring Boot starter
49.6. Undertow Embedded Spring Container
49.7. Upgrading in WildFly
50. CDI Integration
50.1. Using CDI beans as JAX-RS components
50.2. Default scopes
50.3. Configuration within WildFly
50.4. Configuration with different distributions
51. Guice 3.0 Integration
51.1. Request Scope
51.2. Binding JAX-RS utilities
51.3. Configuring Stage
51.4. Custom Injector creation
52. RESTEasy Client API
52.1. JAX-RS 2.0 Client API
52.2. RESTEasy Proxy Framework
52.2.1. Abstract Responses
52.2.2. Response proxies
52.2.3. Giving client proxy an ad hoc URI
52.2.4. Sharing an interface between client and server
52.3. Apache HTTP Client 4.x and other backends
52.3.1. HTTP redirect
52.3.2. Configuring SSL
52.3.3. HTTP proxy
52.3.4. Apache HTTP Client pre-4.3 APIs
52.3.5. Apache HTTP Client 4.3 APIs
52.3.6. Asynchronous HTTP Request Processing
52.3.7. Jetty Client Engine
53. MicroProfile Rest Client
53.1. Client proxies
53.2. Concepts imported from JAX-RS
53.3. Beyond JAX-RS and RESTEasy
53.4. MicroProfile REST Client 2.0
54. AJAX Client
54.1. Generated JavaScript API
54.1.1. JavaScript API servlet
54.1.2. JavaScript API usage
54.1.3. Work with @Form
54.1.4. MIME types and unmarshalling.
54.1.5. MIME types and marshalling.
54.2. Using the JavaScript API to build AJAX queries
54.2.1. The REST object
54.2.2. The REST.Request class
54.3. Caching Features
55. RESTEasy WADL Support
55.1. RESTEasy WADL Support for Servlet Container(Deprecated)
55.2. RESTEasy WADL Support for Servlet Container(Updated)
55.3. RESTEasy WADL support for Sun JDK HTTP Server
55.4. RESTEasy WADL support for Netty Container
55.5. RESTEasy WADL Support for Undertow Container
56. Validation
56.1. Violation reporting
56.2. Validation Service Providers
56.3. Validation Implementations
57. Internationalization and Localization
57.1. Internationalization
57.2. Localization
58. Maven and RESTEasy
59. Deprecated Security Modules
60. Migration to RESTEasy 3.5 series
61. Migration to RESTEasy 3.1 series
61.1. Upgrading with RESTEasy 3 API
61.2. Upgrading with RESTEasy 2 API
62. Migration from older versions
62.1. Migrating from RESTEasy 2 to RESTEasy 3
62.2. Migrating from 3.0.x to 4.0.0
63. Books You Can Read