JBoss.orgCommunity Documentation

RESTEasy JAX-RS

RESTFul Web Services for Java

4.1.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
3.4.1. Using MicroProfileConfig
3.4.2. Configuration MicroProfile Config
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. @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.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. JSONP Support
23.7. Jackson JSON Decorator
23.8. 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. JAX-RS 2.1 Additions
26.1. CompletionStage support
26.2. Reactive Clients API
26.3. Server-Sent Events (SSE)
26.3.1. SSE Server
26.3.2. SSE Broadcasting
26.3.3. SSE Client
26.4. Java API for JSON Binding
27. String marshalling for String based @*Param
27.1. Simple conversion
27.2. ParamConverter
27.3. StringParameterUnmarshaller
27.4. Collections
27.4.1. @QueryParam
27.4.2. @MatrixParam
27.4.3. @HeaderParam
27.4.4. @CookieParam
27.4.5. @PathParam
27.5. Extension to ParamConverter semantics
27.6. Default multiple valued ParamConverter
28. Responses using javax.ws.rs.core.Response
29. Exception Handling
29.1. Exception Mappers
29.2. RESTEasy Built-in Internally-Thrown Exceptions
29.3. Overriding RESTEasy Builtin Exceptions
30. Configuring Individual JAX-RS Resource Beans
31. Content encoding
31.1. GZIP Compression/Decompression
31.1.1. Configuring GZIP compression / decompression
31.2. General content encoding
32. CORS
33. Content-Range Support
34. RESTEasy Caching Features
34.1. @Cache and @NoCache Annotations
34.2. Client "Browser" Cache
34.3. Local Server-Side Response Cache
34.4. HTTP preconditions
35. Filters and Interceptors
35.1. Server Side Filters
35.1.1. Asynchronous filters
35.2. Client Side Filters
35.3. Reader and Writer Interceptors
35.4. Per Resource Method Filters and Interceptors
35.5. Ordering
36. Asynchronous HTTP Request Processing
36.1. Using the @Suspended annotation
36.2. Using Reactive return types
36.3. Asynchronous filters
37. Asynchronous Job Service
37.1. Using Async Jobs
37.2. Oneway: Fire and Forget
37.3. Setup and Configuration
38. Asynchronous Injection
38.1. org.jboss.resteasy.spi.ContextInjector Interface
38.2. Single<Foo> Example
38.3. Async Injector With Annotations Example
39. Reactive programming support
39.1. CompletionStage
39.2. CompletionStage in JAX-RS
39.3. Beyond CompletionStage
39.4. Pluggable reactive types: RxJava 2 in RESTEasy
39.5. Proxies
39.6. Adding extensions
40. Embedded Containers
40.1. Undertow
40.2. Sun JDK HTTP Server
40.3. Netty
40.4. Vert.x
41. Server-side Mock Framework
42. Securing JAX-RS and RESTEasy
43. JSON Web Signature and Encryption (JOSE-JWT)
43.1. JSON Web Signature (JWS)
43.2. JSON Web Encryption (JWE)
44. Doseta Digital Signature Framework
44.1. Maven settings
44.2. Signing API
44.2.1. @Signed annotation
44.3. Signature Verification API
44.3.1. Annotation-based verification
44.4. Managing Keys via a KeyRepository
44.4.1. Create a KeyStore
44.4.2. Configure Restreasy to use the KeyRepository
44.4.3. Using DNS to Discover Public Keys
45. Body Encryption and Signing via SMIME
45.1. Maven settings
45.2. Message Body Encryption
45.3. Message Body Signing
45.4. application/pkcs7-signature
46. EJB Integration
47. Spring Integration
47.1. Basic Integration
47.2. Spring MVC Integration
47.3. JAX-RS with Spring MVC
47.4. Spring Boot starter
47.5. Undertow Embedded Spring Container
47.6. Upgrading in WildFly
48. CDI Integration
48.1. Using CDI beans as JAX-RS components
48.2. Default scopes
48.3. Configuration within WildFly
48.4. Configuration with different distributions
49. Guice 3.0 Integration
49.1. Request Scope
49.2. Binding JAX-RS utilities
49.3. Configuring Stage
49.4. Custom Injector creation
50. RESTEasy Client API
50.1. JAX-RS 2.0 Client API
50.2. RESTEasy Proxy Framework
50.2.1. Abstract Responses
50.2.2. Response proxies
50.2.3. Giving client proxy an ad hoc URI
50.2.4. Sharing an interface between client and server
50.3. Apache HTTP Client 4.x and other backends
50.3.1. HTTP redirect
50.3.2. Configuring SSL
50.3.3. HTTP proxy
50.3.4. Apache HTTP Client 4.3 APIs
50.3.5. Asynchronous HTTP Request Processing
50.3.6. Jetty Client Engine
50.3.7. Reactor Netty Client Engine
51. MicroProfile Rest Client
51.1. Client proxies
51.2. Concepts imported from JAX-RS
51.3. Beyond JAX-RS and RESTEasy
52. AJAX Client
52.1. Generated JavaScript API
52.1.1. JavaScript API servlet
52.1.2. JavaScript API usage
52.1.3. Work with @Form
52.1.4. MIME types and unmarshalling.
52.1.5. MIME types and marshalling.
52.2. Using the JavaScript API to build AJAX queries
52.2.1. The REST object
52.2.2. The REST.Request class
52.3. Caching Features
53. RESTEasy WADL Support
53.1. RESTEasy WADL Support for Servlet Container
53.2. RESTEasy WADL support for Sun JDK HTTP Server
53.3. RESTEasy WADL support for Netty Container
53.4. RESTEasy WADL Support for Undertow Container
54. RESTEasy Tracing Feature
54.1. Overview
54.2. Tracing Info Mode
54.3. Tracing Info Level
54.4. Basic Usages
54.5. Client Side Tracing Info
54.6. Json Formatted Response
54.7. List Of Tracing Events
54.8. Tracing Example
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. Migration from older versions
58.1. Migration to RESTEasy 3.0 series
58.2. Migration to RESTEasy 3.1 series
58.3. Migration to RESTEasy 3.5+ series
58.4. Migration to RESTEasy 4 series
59. Books You Can Read