cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r966217 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs.html
Date Mon, 21 Sep 2015 13:47:49 GMT
Author: buildbot
Date: Mon Sep 21 13:47:46 2015
New Revision: 966217

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/jax-rs.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/cxf/content/docs/jax-rs.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs.html (original)
+++ websites/production/cxf/content/docs/jax-rs.html Mon Sep 21 13:47:46 2015
@@ -118,11 +118,11 @@ Apache CXF -- JAX-RS
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><p>&#160;</p><p>&#160;<span
class="inline-first-p" style="font-size:2em;font-weight:bold">JAX-RS (JSR-339)</span>&#160;</p><p>&#160;</p><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1440697613222 {padding: 0px;}
-div.rbtoc1440697613222 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1440697613222 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1442843228833 {padding: 0px;}
+div.rbtoc1442843228833 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1442843228833 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1440697613222">
+/*]]>*/</style></p><div class="toc-macro rbtoc1442843228833">
 <ul class="toc-indentation"><li><a shape="rect" href="#JAX-RS-Introduction">Introduction</a></li><li><a
shape="rect" href="#JAX-RS-JAX-RSCompliance">JAX-RS Compliance</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#JAX-RS-1.1">1.1</a></li><li><a
shape="rect" href="#JAX-RS-2.0Final">2.0 Final</a></li></ul>
 </li><li><a shape="rect" href="#JAX-RS-Projectsetupandconfiguration">Project
setup and configuration</a>
@@ -237,7 +237,7 @@ public void upload(@Multipart InputStrea
 
    &lt;/dependency&gt;
 </pre>
-</div></div><h1 id="JAX-RS-WhatisNew">What is New</h1><ul><li>Complete
support for JAX-RS 2.0, please see <a shape="rect" href="jax-rs-basics.html">JAX-RS
Basics</a> for more information</li><li>Bean Validation 1.1 Support, please
see <a shape="rect" href="http://cxf.apache.org/docs/validationfeature.html">http://cxf.apache.org/docs/validationfeature.html</a>
for more information</li><li>Swagger Feature</li></ul><h1 id="JAX-RS-GettingStartedwithJAX-RS">Getting
Started with JAX-RS</h1><h2 id="JAX-RS-UnderstandingtheBasics">Understanding the
Basics</h2><p>You are encouraged to read <a shape="rect" class="external-link"
href="http://jcp.org/en/jsr/detail?id=339" rel="nofollow">JSR-339</a> specification
to find out information not covered by this documentation. The specification introduces many
terms such as root resources, resource methods, sub-resources and sub-resource locators, message
body readers and writers. JAX-RS 2.0 additionally introduces filters, interceptors, new client
API
 , features, new exception classes, server-side support for asynchronous invocations.</p><p>Please
see the <a shape="rect" href="jax-rs-basics.html">JAX-RS Basics</a> page for more
information.</p><h2 id="JAX-RS-SupportforDataBindings">Support for Data Bindings</h2><p>JAX-RS
MessageBodyReader and MessageBodyWriter can be used to create data bindings for reading and
writing data in a number of different formats. Compliant JAX-RS implementations are expected
to support JAXB-annotated beans, JAXP Source objects, InputStreams, etc.</p><p>In
addition, CXF JAX-RS lets users reuse existing CXF DataBindings for working with JAXB, XBeans,
Aegis and SDO.</p><p>Please see the <a shape="rect" href="jax-rs-data-bindings.html">JAX-RS
Data Bindings</a> page for more information.</p><h2 id="JAX-RS-HowRequestURIisMatched">How
Request URI is Matched</h2><p>Lets assume you have a web application called 'rest'
(example, a 'rest.war' archive). CXFServlet's url-pattern is "/test/*". Finally, jaxrs:server'
 s address is "/bar".</p><p>Requests like /rest/test/bar or /rest/test/bar/baz
will be delivered to one of the resource classes in a given jaxrs:server endpoint. For the
former request to be handled, a resource class with @Path("/") should be available, in the
latter case - at least @Path("/") or a more specific @Path("/baz").</p><p>The
same requirement can be expressed by having a CXFServlet with "/*" and jaxrs:server with "/test/bar".</p><p>When
both CXFServlet and jaxrs:server use "/" then it's a root resource class which should provide
a @Path with at least "/test/bar" for the above requests to be matched.</p><p>Generally,
it can be a good idea to specify the URI segments which are more likely to change now and
then with CXFServlets or jaxrs:server.</p><h2 id="JAX-RS-ClientAPI">Client API</h2><p>CXF
3.0.0 implements JAX-RS 2.0 Client API.</p><p>CXF 2.7.x or earlier provides a
comprehensive support for developing RESTful clients by supporting 3 flavors of the client
API: proxy-bas
 ed, HTTP-centric and XML-centric. CXF-specific client API is supported alongside new JAX-RS
2.0 Client API in CXF 3.0.0.</p><p>Please see the <a shape="rect" href="jax-rs-client-api.html">JAX-RS
Client API</a> page for more information.</p><h2 id="JAX-RS-BeanValidation">Bean
Validation</h2><p>Bean Validation 1.1 is supported since CXF 3.0.0-milestone1.
Please see the <a shape="rect" href="http://cxf.apache.org/docs/validationfeature.html">http://cxf.apache.org/docs/validationfeature.html</a>
for more information.</p><h2 id="JAX-RS-Filters,InterceptorsandInvokers">Filters,
Interceptors and Invokers</h2><p>It is possible to intercept and modify the inbound
and outbound calls with the help of CXF JAX-RS filters and/or CXF interceptors. Additionally,
custom invokers offer an option to intercept a call immediately before a service bean is invoked.</p><p>Please
see the <a shape="rect" href="jax-rs-filters.html">JAX-RS Filters</a> page for
more information.</p><p>Please see the <a shape="r
 ect" href="jax-rs-basics.html">JAX-RS Basics</a> page for more information about
new JAX-RS 2.0 filters and interceptors available in CXF 2.7.x and 3.0.0.</p><h2
id="JAX-RS-ServicelistingsandWADLsupport">Service listings and WADL support</h2><p><strong>New</strong>:
Swagger feature has been introduced.</p><p>CXF JAX-RS supports <a shape="rect"
class="external-link" href="http://www.w3.org/Submission/wadl" rel="nofollow">WADL</a>.
CXF JAX-RS service endpoints can be listed in the service listings page and users can check
the WADL documents.</p><p>Please see the <a shape="rect" href="jaxrs-services-description.html">JAXRS
Services Description</a> page for more information.</p><h2 id="JAX-RS-ConfiguringJAX-RSservices">Configuring
JAX-RS services</h2><p>JAX-RS services can be configured programmatically, using
Blueprint, Spring or CXFNonSpringJAXRSServlet.</p><p>Please see the <a shape="rect"
href="jaxrs-services-configuration.html">JAXRS Services Configuration</a> page for
more informa
 tion.</p><h2 id="JAX-RS-Testing">Testing</h2><p>JAX-RS services can
be easily tested using the embedded Jetty or CXF Local Transport.<br clear="none"> Please
see the <a shape="rect" href="https://cwiki.apache.org/confluence/display/CXF20DOC/JAXRS+Testing">JAXRS
Testing</a> page for more information.</p><h2 id="JAX-RS-Debugging">Debugging</h2><p>One
may want to use a browser to test how a given HTTP resource reacts to different HTTP Accept
or Accept-Language header values and request methods. For example, if a resource class supports
a "/resource" URI then one can test the resource class using one of the following queries
:</p><p><code>&gt; GET /resource.xml</code> <br clear="none">
<code>&gt; GET /resource.en</code></p><p>The runtime will replace
'.xml' or '.en' with an appropriate header value. For it to know the type or language value
associated with a given URI suffix, some configuration needs to be done. Here's an example
of how it can be done with Spring:</p><div class="code pa
 nel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h1 id="JAX-RS-WhatisNew">What is New</h1><ul><li>Complete
support for JAX-RS 2.0, please see <a shape="rect" href="jax-rs-basics.html">JAX-RS
Basics</a> for more information</li><li>Bean Validation 1.1 Support, please
see <a shape="rect" href="http://cxf.apache.org/docs/validationfeature.html">http://cxf.apache.org/docs/validationfeature.html</a>
for more information</li><li><a shape="rect" href="http://cxf.apache.org/docs/swagger2feature.html">Swagger
Feature</a> for generating <a shape="rect" class="external-link" href="http://swagger.io/specification/"
rel="nofollow">Swagger API</a> documentation from JAX-RS endpoints</li></ul><h1
id="JAX-RS-GettingStartedwithJAX-RS">Getting Started with JAX-RS</h1><h2 id="JAX-RS-UnderstandingtheBasics">Understanding
the Basics</h2><p>You are encouraged to read <a shape="rect" class="external-link"
href="http://jcp.org/en/jsr/detail?id=339" rel="nofollow">JSR-339</a> specification
to find out information not covered by this documenta
 tion. The specification introduces many terms such as root resources, resource methods, sub-resources
and sub-resource locators, message body readers and writers. JAX-RS 2.0 additionally introduces
filters, interceptors, new client API, features, new exception classes, server-side support
for asynchronous invocations.</p><p>Please see the <a shape="rect" href="jax-rs-basics.html">JAX-RS
Basics</a> page for more information.</p><h2 id="JAX-RS-SupportforDataBindings">Support
for Data Bindings</h2><p>JAX-RS MessageBodyReader and MessageBodyWriter can be
used to create data bindings for reading and writing data in a number of different formats.
Compliant JAX-RS implementations are expected to support JAXB-annotated beans, JAXP Source
objects, InputStreams, etc.</p><p>In addition, CXF JAX-RS lets users reuse existing
CXF DataBindings for working with JAXB, XBeans, Aegis and SDO.</p><p>Please see
the <a shape="rect" href="jax-rs-data-bindings.html">JAX-RS Data Bindings</a>
page for more i
 nformation.</p><h2 id="JAX-RS-HowRequestURIisMatched">How Request URI is Matched</h2><p>Lets
assume you have a web application called 'rest' (example, a 'rest.war' archive). CXFServlet's
url-pattern is "/test/*". Finally, jaxrs:server's address is "/bar".</p><p>Requests
like /rest/test/bar or /rest/test/bar/baz will be delivered to one of the resource classes
in a given jaxrs:server endpoint. For the former request to be handled, a resource class with
@Path("/") should be available, in the latter case - at least @Path("/") or a more specific
@Path("/baz").</p><p>The same requirement can be expressed by having a CXFServlet
with "/*" and jaxrs:server with "/test/bar".</p><p>When both CXFServlet and jaxrs:server
use "/" then it's a root resource class which should provide a @Path with at least "/test/bar"
for the above requests to be matched.</p><p>Generally, it can be a good idea to
specify the URI segments which are more likely to change now and then with CXFServlets or
jaxrs:server.
 </p><h2 id="JAX-RS-ClientAPI">Client API</h2><p>CXF 3.0.0 implements
JAX-RS 2.0 Client API.</p><p>CXF 2.7.x or earlier provides a comprehensive support
for developing RESTful clients by supporting 3 flavors of the client API: proxy-based, HTTP-centric
and XML-centric. CXF-specific client API is supported alongside new JAX-RS 2.0 Client API
in CXF 3.0.0.</p><p>Please see the <a shape="rect" href="jax-rs-client-api.html">JAX-RS
Client API</a> page for more information.</p><h2 id="JAX-RS-BeanValidation">Bean
Validation</h2><p>Bean Validation 1.1 is supported since CXF 3.0.0-milestone1.
Please see the <a shape="rect" href="http://cxf.apache.org/docs/validationfeature.html">http://cxf.apache.org/docs/validationfeature.html</a>
for more information.</p><h2 id="JAX-RS-Filters,InterceptorsandInvokers">Filters,
Interceptors and Invokers</h2><p>It is possible to intercept and modify the inbound
and outbound calls with the help of CXF JAX-RS filters and/or CXF interceptors. Additionally,
custo
 m invokers offer an option to intercept a call immediately before a service bean is invoked.</p><p>Please
see the <a shape="rect" href="jax-rs-filters.html">JAX-RS Filters</a> page for
more information.</p><p>Please see the <a shape="rect" href="jax-rs-basics.html">JAX-RS
Basics</a> page for more information about new JAX-RS 2.0 filters and interceptors available
in CXF 2.7.x and 3.0.0.</p><h2 id="JAX-RS-ServicelistingsandWADLsupport">Service
listings and WADL support</h2><p><strong>New</strong>: Swagger feature
has been introduced.</p><p>CXF JAX-RS supports <a shape="rect" class="external-link"
href="http://www.w3.org/Submission/wadl" rel="nofollow">WADL</a>. CXF JAX-RS service
endpoints can be listed in the service listings page and users can check the WADL documents.</p><p>Please
see the <a shape="rect" href="jaxrs-services-description.html">JAXRS Services Description</a>
page for more information.</p><h2 id="JAX-RS-ConfiguringJAX-RSservices">Configuring
JAX-RS services</h2><p>JA
 X-RS services can be configured programmatically, using Blueprint, Spring or CXFNonSpringJAXRSServlet.</p><p>Please
see the <a shape="rect" href="jaxrs-services-configuration.html">JAXRS Services Configuration</a>
page for more information.</p><h2 id="JAX-RS-Testing">Testing</h2><p>JAX-RS
services can be easily tested using the embedded Jetty or CXF Local Transport.<br clear="none">
Please see the <a shape="rect" href="https://cwiki.apache.org/confluence/display/CXF20DOC/JAXRS+Testing">JAXRS
Testing</a> page for more information.</p><h2 id="JAX-RS-Debugging">Debugging</h2><p>One
may want to use a browser to test how a given HTTP resource reacts to different HTTP Accept
or Accept-Language header values and request methods. For example, if a resource class supports
a "/resource" URI then one can test the resource class using one of the following queries
:</p><p><code>&gt; GET /resource.xml</code> <br clear="none">
<code>&gt; GET /resource.en</code></p><p>The runtime will replace
'.xml
 ' or '.en' with an appropriate header value. For it to know the type or language value associated
with a given URI suffix, some configuration needs to be done. Here's an example of how it
can be done with Spring:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">  &lt;jaxrs:server
id="customerService" address="/"&gt;
     &lt;jaxrs:serviceBeans&gt;
       &lt;bean class="org.apache.cxf.jaxrs.systests.CustomerService" /&gt;



Mime
View raw message