In OpenEdge REST applications, input parameters of a procedure or user-defined function are mapped to elements of an HTTP request.

HTTP requests can contain the following elements:

  • Request line, including an HTTP method (GET, POST, etc.), URI, query information, and protocol version
  • Request headers, including host, cookies, and media types
  • Request body

Since the request line and request headers of an HTTP request are text, mapping each request element to an input parameter is equivalent to mapping from text to a target ABL data type. see Supported input parameter mappings for more information.

A JSON request body can be mapped to an input parameter in two ways:

  • You can map a JSON request body directly to ProDataSet (DATASET and DATASET-HANDLE) or temp table (TABLE and TABLE-HANDLE) input parameter.
  • You can map the JSON request body to a CHARACTER or LONGCHAR input parameter.

In either case, the request body needs to be formatted as described in OpenEdge Development: Working with JSON. Also see JSON input and output message formats.

Runtime errors occur if a mapping is not supported. see Errors and exceptions for more information.