pr_set_api_spec: Set the OpenAPI Specification

View source: R/pr_set.R

pr_set_api_specR Documentation

Set the OpenAPI Specification

Description

Allows to modify OpenAPI Specification autogenerated by plumber.

Usage

pr_set_api_spec(pr, api)

Arguments

pr

A Plumber API. Note: The supplied Plumber API object will also be updated in place as well as returned by the function.

api

This can be

  • an OpenAPI Specification formatted list object

  • a function that accepts the OpenAPI Specification autogenerated by plumber and returns a OpenAPI Specification formatted list object.

  • a path to an OpenAPI Specification

The value returned will not be validated for OAS compatibility.

Details

Note, the returned value will be sent through serializer_unboxed_json() which will turn all length 1 vectors into atomic values. To force a vector to serialize to an array of size 1, be sure to call as.list() on your value. list() objects are always serialized to an array value.

Value

The Plumber router with the new OpenAPI Specification object or function.

Examples

## Not run: 
# Set the API Spec to a function to use the auto-generated OAS object
pr() %>%
  pr_set_api_spec(function(spec) {
    spec$info$title <- Sys.time()
    spec
  }) %>%
  pr_get("/plus/<a:int>/<b:int>", function(a, b) { a + b }) %>%
  pr_run()

# Set the API Spec using an object
pr() %>%
  pr_set_api_spec(my_custom_object) %>%
  pr_get("/plus/<a:int>/<b:int>", function(a, b) { a + b }) %>%
  pr_run()

## End(Not run)

plumber documentation built on Sept. 7, 2022, 1:05 a.m.