Modeling representational state transfer application programming interfaces
US-2015331675-A1 · Nov 19, 2015 · US
US9753744B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9753744-B1 |
| Application number | US-201615167842-A |
| Country | US |
| Kind code | B1 |
| Filing date | May 27, 2016 |
| Priority date | May 27, 2016 |
| Publication date | Sep 5, 2017 |
| Grant date | Sep 5, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure relates to accessing data using dynamically generated application programming interface (API) calls. According to one embodiment, a method generally includes receiving, at a computing system, a data request from a client device. The data request generally identifies a navigable path through a graph projection of the API. The computing system generates an API call to process the data request. To generate the API call for each node in the navigable path, the computing system, identifies a node in the graph projection to access data from and generates a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node. The computing system executes the one or more subqueries to obtain a result and returns the result of executing the subqueries as a result of the API call.
Opening claim text (preview).
What is claimed is: 1. A method for accessing data using dynamically generated application programming interface (API) calls, comprising: receiving a data request from a client device, the data request identifying a navigable path through a graph projection of the API, the navigable path including a plurality of nodes; generating an API call to process the data request, wherein the generating comprises, for each node in the navigable path: identifying a node in the graph projection to access data from, and generating a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node; executing the one Or more subqueries to obtain a result; and returning the result of executing the subqueries as the result of the API call; verifying that the identified node associated with the subquery references an immediate parent node of the node and that the subquery comprises a valid query based on a schema associated with the node in the graph projection of the API. 2. The method of claim 1 , wherein generating the plurality of subqueries from the data request comprises: identifying nodes in the data request based, at least in part, on a separation of the data request into a plurality of parts based on a delimiter; and generating at least a first subquery based on a first part of the plurality of parts indicating a node in the graph projection of the API and at least a second part of the plurality of parts including one or more parameters for the subquery. 3. The method of claim 1 , wherein verifying that the subquery comprises a valid query comprises comparing a number and type of parameters included in the subquery to a number and type of required parameters identified in the schema. 4. The method of claim 1 , wherein the plurality of subqueries are executed sequentially. 5. The method of claim 1 , further comprising: caching a result of a first of the plurality of subqueries; and generating at least a second subquery. 6. The method of claim 5 , wherein the second subquery is generated based, at least in part, from a cached result of the first subquery. 7. The method of claim 1 , further comprising: upon determining that the subquery is invalid, halting processing of the request and generating an error message indicating that the subquery is invalid. 8. The method of claim 1 , wherein executing the subquery comprises: determining a location at which the subquery is to be executed based on provider information in a schema definition for a node associated with the subquery; and transmitting the subquery to the determined location. 9. A system, comprising: a processor; and memory storing instructions which, when executed on the processor, perform an operation for accessing data using dynamically generated application programming interface (API) calls, the operation comprising: receiving a data request from a client device, the data request identifying an navigable path through a graph projection of the API, the navigable path including a plurality of nodes; generating an API call to process the data request, wherein the generating comprises, for each node in the navigable path: identifying a node in the graph projection to access data from, and generating a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node; executing the one or more subqueries to obtain a result; and returning the result of executing the subqueries as the result of the API call; wherein the operations further comprise: verifying that the identified node associated with the subquery references an immediate parent node of the node and that the subquery comprises a valid query based on a schema associated with the node in the graph projection of the API. 10. The system of claim 9 , wherein generating the plurality of subqueries from the data request comprises: identifying nodes in the data request based, at least in part, on a separation of the data request into a plurality of parts based on a delimiter; and generating at least a first subquery based on a first part of the plurality of parts indicating a node in the graph projection of the API and at least a second part of the plurality of parts including one or more parameters for the subquery. 11. The system of claim 9 , wherein verifying that the subquery comprises a valid query comprises comparing a number and type of parameters included in the subquery to a number and type of required parameters identified in the schema. 12. The system of claim 9 , wherein the operations further comprise: caching a result of a first subquery of the plurality of subqueries; and generating at least a second subquery, wherein the second subquery is generated based, at least in part, from a cached result of the first subquery. 13. The system of claim 9 , wherein executing the subquery comprises: determining a location at which the subquery is to be executed based on provider information in a schema definition for a node associated with the subquery; and transmitting the subquery to the determined location. 14. A non-transitory computer-readable medium comprising instructions which, when executed by one or more processors, performs an operation for accessing data using dynamically generated application programming interface (API) calls, the operation comprising: receiving a data request from a client device, the data request identifying a navigable path through a graph projection of the API, the navigable path including a plurality of nodes; generating an API call to process the data request, wherein the generating comprises, for each node in the navigable path: identifying a node in the graph projection to access data from, and generating a subquery to access data from the node using one or more parameters included in the data request and defined in a schema associated with the node; executing the one or more subqueries to obtain a result; and returning the result of executing the subqueries as the result of the API call; wherein the operations further comprise: verifying that the identified node associated with the subquery references an immediate parent node of the node and that the subquery comprises a valid query based on a schema associated with the node in the graph projection of the API. 15. The non-transitory computer-readable medium of claim 14 , wherein generating the plurality of subqueries from the data request comprises: identifying nodes in the data request based, at least in part, on a separation of the data request into a plurality of parts based on a delimiter; and generating at least a first subquery based on a first part of the plurality of parts indicating a node in the graph projection of the API and at least a second part of the plurality of parts including one or more parameters for the subquery. 16. The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise: caching a result of a first subquery of the plurality of subqueries; and generating at least a second subquery, wherein the second subquery is generated based, at least in part, from a cached result of the first subquery. 17. The non-transitory computer-readable medium of claim 14 , wherein executing the subquery comprises: determining a location at which the subquery is to be executed based on provider information in a schema definition for a node associated with the subquery; and transmitting the subquery to the determined location.
Interactive query statement specification based on a database schema · CPC title
Message passing systems or structures, e.g. queues · CPC title
Creation or generation of source code · CPC title
Interprogram communication · CPC title
Execution arrangements for user interfaces · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.