PJ45579 provides a number of enhancements such as support for path parameters, JSON only names, XML attributes, and the ability to define request specific string encodings. The following enhancements were included:
- REST provider support and REST consumer support include path parameters in the input request structure when you specify the path parameter in the OpenAPI descriptor. To map the path field in the input request structure, the path parameter must match a DFDL element name.
- REST provider and REST consumer support URL encoding for path and query parameters in accordance with RFC 1738.
- The z/TPF service descriptor supports an array of response objects by using the status field to specify the status codes that apply to the response object definition.
- You can specify the name field for the XML object in an OpenAPI descriptor to map JSON names that are not allowed in DFDL to DFDL names. The name field also provides the compliant XML name that a JSON name can map to in an XML request or response.
- You can specify the attribute field for the XML object in an OpenAPI descriptor. The attribute field in the OpenAPI descriptor specifies which DFDL elements should be mapped to XML attributes in an XML request or response.
- You can define two different encodings for two separate REST services through the same DFDL by using a DFDL expression. REST provider support sets a name-value pair for the operation ID that can be used in the DFDL expression to determine the encoding.
- The defineVariable annotation allows support for DFDL external variables, internal variables, and default values of variables. All DFDL variables must be defined by using the defineVariable annotation. When you use the tpf_dfdl_setVariable function, you must define the variable in a DFDL schema file as an external variable.