JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

4.7.3.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
3.4.1. RESTEasy with MicroProfile Config
3.4.2. Using pure MicroProfile Config
3.4.3. Using RESTEasy's extension of MicroProfile Config
3.4.4. Configuring MicroProfile Config
3.4.5. RESTEasy's classic configuration mechanism
3.4.6. Overriding RESTEasy's 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
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
7.1. HeaderDelegates
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.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. JSONP Support
24.7. Jackson JSON Decorator
24.8. JSON Filter Support
24.9. Polymorphic Typing deserialization
25. JSON Support via Java EE 7 JSON-P API
26. Multipart Providers
26.1. Multipart/mixed
26.1.1. Writing multipart/mixed messages
26.1.2. Reading multipart/mixed messages
26.1.3. Simple multipart/mixed message example
26.1.4. Multipart/mixed message with GenericType example
26.1.5. java.util.List with multipart/mixed data example
26.2. Multipart/related
26.2.1. Writing multipart/related messages
26.2.2. Reading multipart/related messages
26.2.3. Multipart/related message example
26.2.4. XML-binary Optimized Packaging (XOP)
26.2.5. @XopWithMultipartRelated return object example
26.2.6. @XopWithMultipartRelated input parameter example
26.3. Multipart/form-data
26.3.1. Writing multipart/form-data messages
26.3.2. Reading multipart/form-data messages
26.3.3. Simple multipart/form-data message example
26.3.4. java.util.Map with multipart/form-data
26.3.5. Multipart/form-data java.util.Map as method return type
26.3.6. @MultipartForm and POJOs
26.4. Note about multipart parsing and working with other frameworks
26.5. Overwriting the default fallback content type for multipart messages
26.6. Overwriting the content type for multipart messages
26.7. Overwriting the default fallback charset for multipart messages
27. JAX-RS 2.1 Additions
27.1. CompletionStage support
27.2. Reactive Clients API
27.3. Server-Sent Events (SSE)
27.3.1. SSE Server
27.3.2. SSE Broadcasting
27.3.3. SSE Client
27.4. Java API for JSON Binding
27.5. JSON Patch and JSON Merge Patch
28. String marshalling for String based @*Param
28.1. Simple conversion
28.2. ParamConverter
28.3. StringParameterUnmarshaller
28.4. Collections
28.4.1. @QueryParam
28.4.2. @MatrixParam
28.4.3. @HeaderParam
28.4.4. @CookieParam
28.4.5. @PathParam
28.5. Extension to ParamConverter semantics
28.6. Default multiple valued ParamConverter
29. Responses using javax.ws.rs.core.Response
30. Exception Handling
30.1. Exception Mappers
30.2. RESTEasy Built-in Internally-Thrown Exceptions
30.3. Resteasy WebApplicationExceptions
30.4. Overriding RESTEasy Builtin Exceptions
31. Configuring Individual JAX-RS Resource Beans
32. Content encoding
32.1. GZIP Compression/Decompression
32.1.1. Configuring GZIP compression / decompression
32.2. General content encoding
33. CORS
34. Content-Range Support
35. RESTEasy Caching Features
35.1. @Cache and @NoCache Annotations
35.2. Client "Browser" Cache
35.3. Local Server-Side Response Cache
35.4. HTTP preconditions
36. Filters and Interceptors
36.1. Server Side Filters
36.1.1. Asynchronous filters
36.2. Client Side Filters
36.3. Reader and Writer Interceptors
36.4. Per Resource Method Filters and Interceptors
36.5. Ordering
37. Asynchronous HTTP Request Processing
37.1. Using the @Suspended annotation
37.2. Using Reactive return types
37.3. Asynchronous filters
37.4. Asynchronous IO
38. Asynchronous Job Service
38.1. Using Async Jobs
38.2. Oneway: Fire and Forget
38.3. Setup and Configuration
39. Asynchronous Injection
39.1. org.jboss.resteasy.spi.ContextInjector Interface
39.2. Single<Foo> Example
39.3. Async Injector With Annotations Example
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. Netty
41.4. Reactor-Netty
41.5. Vert.x
41.6. EmbeddedJaxrsServer
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. Customized Configuration
48.3. Spring MVC Integration
48.4. Undertow Embedded Spring Container
48.5. Processing Spring Web REST annotations in RESTEasy
48.6. Spring Boot starter
48.7. 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 4.3 APIs
51.3.5. Asynchronous HTTP Request Processing
51.3.6. Jetty Client Engine
51.3.7. Vertx Client Engine
51.3.8. Reactor Netty 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(Deprecated)
54.2. RESTEasy WADL Support for Servlet Container(Updated)
54.3. RESTEasy WADL support for Sun JDK HTTP Server
54.4. RESTEasy WADL support for Netty Container
54.5. RESTEasy WADL Support for Undertow Container
55. RESTEasy Tracing Feature
55.1. Overview
55.2. Tracing Info Mode
55.3. Tracing Info Level
55.4. Basic Usages
55.5. Client Side Tracing Info
55.6. Json Formatted Response
55.7. List Of Tracing Events
55.8. Tracing Example
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. Migration from older versions
59.1. Migration to RESTEasy 3.0 series
59.2. Migration to RESTEasy 3.1 series
59.3. Migration to RESTEasy 3.5+ series
59.4. Migration to RESTEasy 4 series
60. Books You Can Read