Designer 10.15 | webMethods Service Development Help | Working with REST API Descriptors | OpenAPI-Based Provider REST API Descriptors | Working with Resources | Working with Operations
 
Working with Operations
 
About REST Requests
About REST Responses
About Services
About Callbacks
The REST API Descriptor (RAD) displays the REST V2 resources that lists the associated operations. For each operation, Designer displays the REST requests and the responses returned by the operation and the callback services. Designer also displays a link to the service related to the operation. When you click the link, Designer opens the corresponding service in the editor. You can view the description, summary, operation ID, tags, security schemes, and external documents related to the operation.
Note:
Integration Server does not support HTTP TRACE method while processing a REST request.
Important:
A REST operation in an OpenAPI document must be unique, the combination of a URL template and the supported HTTP method must be unique and unambiguous. This ensures that a single operation always points to a single service. If an OpenAPI document contains ambiguous URL templates, Integration Server behaves unexpectedly.
Example 1
The following URL templates are ambiguous.
URL Template
Runtime URL
GET /product/{pid}
GET /product/101
GET /product/{productCode}
GET /product/101
In the above example, both the URL templates are similar and the corresponding runtime URLs are same. This creates an ambiguity. Integration Server evaluates this ambiguity while adding the URL templates and does not execute the REST operation.
Example 2
The following URL templates are unambiguous.
URL Template
Runtime URL
GET /product/{pid}
GET /product/101
GET /product/code/{productCode}
GET /product/code/101
Example 3
The following URL templates are ambiguous.
URL Template
Runtime URL
GET /product/{pid}/category/{catId}
GET /product/PD1/category/CD1
GET /product/PD1/{category}/CD1
GET /product/PD1/category/CD1
The previous two URL templates are ambiguous and the runtime URLs are same. Integration Server resolves this case by matching the static part of the URL template. Because both the URL templates are matched, Integration Server matches the static part first which is /product/PD1 in the second URL template and invokes the service mapped to the second URL. Although a client intends to invoke the operation corresponding to the first URL template, Integration Server invokes the operation corresponding to the second URL template. Therefore, it is recommended that as a provider of REST services, you must define unambiguous URL templates.
For each operation in a RAD, you can do the following:
*View the REST request details.
*View the REST responses.
*View the callback services.
Operation details of the REST V2 resource