Transform a list of operation arguments to an http request message body. This method searches for parameters with swagger / openAPI specification `in: body` or `in: formData`. `body` parameters are expected to be R vectors or lists, and are transformed to JSON using `jsonlite::toJSON()`. `formData` parameters are treated as is, so must be specified (e.g., using `httr::upload_file()`) by the caller. Interpretation of `formData` parameters require that the `op_def` includes `consumes: multipart/form-data`.
get_message_body(op_def, body, auto_unbox = TRUE)
A JSON character representation (for `body`) or list of objects (for `formData`) representing the parameters `x`.
A list representation of the swagger / openAPI description of the operation.
A list representation of the operation arguments provided by the user.
automatically unbox()
all atomic vectors of length 1. It is usually safer to avoid this and instead use the unbox()
function to unbox individual elements.
An exception is that objects of class AsIs
(i.e. wrapped in I()
) are not automatically unboxed. This is a way to mark single values as length-1 arrays.