Andrei Ivanov created CXF-8216:
----------------------------------

             Summary: Support optional path params in wadl2java
                 Key: CXF-8216
                 URL: https://issues.apache.org/jira/browse/CXF-8216
             Project: CXF
          Issue Type: Bug
          Components: Tooling
    Affects Versions: 3.3.5
            Reporter: Andrei Ivanov


After reading 
https://nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-parameters/,
 I tried to define my own:
{code:xml}
<resource path="/{uuid}{version:(/version/[^/]+?)?}/scan-code/{code}">
    <param name="uuid" style="template" type="ns:UUID" required="true"/>
    <param name="version" style="template" type="xs:unsignedInt" 
required="false"/>
    <param name="code" style="template" required="true" />
    <method id="scanCode" name="PATCH">
        <doc>Scan code</doc>
        <request>
            <!--
            <param name="version" style="matrix" type="xs:unsignedInt">
                <doc>Version of the sales transaction.</doc>
            </param>
            -->
        </request>
        <response>
            <representation mediaType="application/json" 
element="ns:SalesTransaction"/>
            <representation mediaType="application/xml" 
element="ns:SalesTransaction"/>
        </response>
    </method>
</resource>
{code}

The problem seems to be that the generator treats *path* params as 
[required|https://github.com/apache/cxf/blob/5ed6310b1621f8a61172c3be85ab66af0310af67/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java#L1246].



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to