Component-aware rest API routing gateway
AssigneeMetaFluent, LLC
InventorAndrew MacGaffey
Life of this patent
Estimating the term…
Abstract
Embodiments perform gateway routing by receiving an application programming interface (“API”) request for an API from a client for a resource from a first endpoint, wherein a plurality of endpoints each include an instance of the API and each endpoint is associated with a unique identifier. The first API request includes a path that specifies a single unique identifier. Embodiments route the first API request to the first endpoint associated with the single unique identifier.
Claims20
A method of routing client provided application programming interface (API) requests via an API gateway, the method comprising:
- receiving, by the API gateway, an API request for an API from a client for a resource from one or more endpoints of a plurality of endpoints, wherein each of the plurality of endpoints each comprise an instance of the API, is remote from the API gateway, is registered with the API gateway using a unique identifier, and is represented by a proxy in the API gateway, the API request comprising a uniform resource identifier (“URI”);
- determining whether the URI provided by the client comprises an expression provided by the client, wherein the expression comprises one or more predicates, or a wild-card, or whether the URI comprises a Universally Unique ID (“UUID”) specifying a single unique endpoint;
- when the URI comprises the expression, selecting multiple of the plurality of endpoints based on the expression and routing, by the API gateway, the API request to the selected endpoints, each selected endpoint having the same particular API type and API version;
- receiving, by the API gateway, a plurality of responses to the request from a plurality of the selected endpoints;
- aggregating, by the API gateway, the plurality of responses into an array of responses;
- and
- when the URI comprises the UUID, routing, by the API gateway, the API request to the single unique endpoint.
A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the processors to route client provided application programming interface (API) requests via an API gateway, the routing comprising:
- receiving, by the API gateway, an API request for an API from a client for a resource from one or more endpoints of a plurality of endpoints, wherein each of the plurality of endpoints each comprise an instance of the API, is remote from the API gateway, is registered with the API gateway using a unique identifier, and is represented by a proxy in the API gateway, the API request comprising a uniform resource identifier (“URI”);
- determining whether the URI provided by the client comprises an expression provided by the client, wherein the expression comprises one or more predicates, or a wild-card, or whether the URI comprises a Universally Unique ID (“UUID”) specifying a single unique endpoint;
- when the URI comprises the expression, selecting multiple of the plurality of endpoints based on the expression and routing, by the API gateway, the API request to the selected endpoints, each selected endpoint having the same particular API type and API version;
- receiving, by the API gateway, a plurality of responses to the request from a plurality of the selected endpoints;
- aggregating, by the API gateway, the plurality of responses into an array of responses;
- and
- when the URI comprises the UUID, routing, by the API gateway, the API request to the single unique endpoint.
An application programming interface (API) gateway comprising:
- one or more processors that execute instructions to perform client provided routing application programming interface (API) requests via an API gateway, the routing comprising:
- receiving, by the API gateway, an API request for an API from a client for a resource from one or more endpoints of a plurality of endpoints, wherein each of the plurality of endpoints each comprise an instance of the API, is remote from the API gateway, is registered with the API gateway using a unique identifier, and is represented by a proxy in the API gateway, the API request comprising a uniform resource identifier (“URI”);
- determining whether the URI provided by the client comprises an expression provided by the client, wherein the expression comprises one or more predicates, or a wild-card, or whether the URI comprises a Universally Unique ID (“UUID”) specifying a single unique endpoint;
- when the URI comprises the expression, selecting multiple of the plurality of endpoints based on the expression and routing, by the API gateway, the API request to the selected endpoints, each selected endpoint having the same particular API type and API version;
- receiving, by the API gateway, a plurality of responses to the request from a plurality of the selected endpoints;
- aggregating, by the API gateway, the plurality of responses into an array of responses;
- and
- when the URI comprises the UUID, routing, by the API gateway, the API request to the single unique endpoint.
Dependencies are inferred from the claim text.