Extending object-schema-based application programming interfaces (APIS)
AssigneeIntuit Inc.
InventorsJoe Wells, Greg Lauckhart
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to extending object-schema-based application programming interfaces (APIs). According to one embodiment, a method generally includes receiving, from a user, a schema defining an extension to the API and a reference to a parent node in a graph projection of the API. An API system updates the graph projection of the API to include a node representing the extension and navigable path to the node representing the extension. The API system processes a request from the user by traversing through the updated graph projection of the API, the request representing the navigable path to the node representing the extension.
Claims16
A method for extending an object schema-based application programming interface (API), comprising:
- receiving, from a user, a schema defining an extension to the API and a reference to a parent node in a graph projection of the API, wherein the graph projection of the API comprises a number of navigable paths, each navigable path representing a function exposed by the API and wherein the extension defines a plurality of functions to be added to the API;
- verifying that the schema defines a valid extension to the API based at least in part on whether the navigable path comprises a continuous path in the graph projection of the API from a root node of the graph projection of the API to the node representing the extension by determining that a parent node of the extension is an existing node in the graph projection of the API;
- updating the graph projection of the API to include a node representing the extension and a navigable path to the node representing the extension;
- and
- processing a request from the user by traversing through the updated graph projection of the API, the request representing the navigable path to the node representing the extension.
A system, comprising:
- a processor;
- and
- a memory comprising instructions which, when executed by the processor, performs an operation for extending an object schema-based application programming interface (API), the operation comprising:
- receiving, from a user, a schema defining an extension to the API and a reference to a parent node in a graph projection of the API, wherein the graph projection of the API comprises a number of navigable paths, each navigable path representing a function exposed by the API and wherein the extension defines a plurality of functions to be added to the API;
- verifying that the schema defines a valid extension to the API based at least in part on whether the navigable path comprises a continuous path exists in the graph projection of the API from a root node of the graph projection of the API to the node representing the extension by determining that a parent node of the extension is an existing node in the graph projection of the API;
- updating the graph projection of the API to include a node representing the extension and a navigable path to the node representing the extension;
- and
- processing a request from the user by traversing through the updated graph projection of the API, the request representing the navigable path to the node representing the extension.
A non-transitory computer-readable medium comprising instruction which, when executed on a processor, performs an operation for extending an object schema-based application programming interface (API), the operation comprising:
- receiving, from a user, a schema defining an extension to the API and a reference to a parent node in a graph projection of the API, wherein the graph projection of the API comprises a number of navigable paths, each navigable path representing a function exposed by the API and wherein the extension defines a plurality of functions to be added to the API;
- verifying that the schema defines a valid extension to the API based at least in part on whether the navigable path comprises a continuous path exists in the graph projection of the API from a root node of the graph projection of the API to the node representing the extension by determining that a parent node of the extension is an existing node in the graph projection of the API;
- updating the graph projection of the API to include a node representing the extension and a navigable path to the node representing the extension;
- and
- processing a request from the user by traversing through the updated graph projection of the API, the request representing the navigable path to the node representing the extension.
Dependencies are inferred from the claim text.