This guide explains how to generate an API using Gateway’s discovery mechanism.
PrerequisitesBefore generating an API, ensure you have:
Gateway provides a convenient command for automatically discovering and generating API configurations:
# Basic command to get help
./gateway --help
Choosing one of our supported AI providers:
Google Gemini provides a generous free tier. You can obtain an API key by visiting Google AI Studio:
Once logged in, you can create an API key in the API section of AI Studio. The free tier includes a generous monthly token allocation, making it accessible for development and testing purposes.
Configure AI provider authorization. For Google Gemini, set an API key.
export GEMINI_API_KEY='yourkey'
Running the Discovery Command with AI Assistance
Use the following command to generate an API with AI assistance:
./gateway discover \
--ai-provider gemini \
--connection-string "postgresql://my_user:my_pass@localhost:5432/mydb" \
--prompt "Develop an API that enables a chatbot to retrieve information about data. \
Try to place yourself as analyst and think what kind of data you will require, \
based on that come up with useful API methods for that"
Parameter Descriptions:
discover
: Activates the discovery mechanism to analyze your database using AI--ai-provider
: Supported AI Provider--connection-string
: Connection string to the database format: [database_type]://[user]:[password]@[host][:port][/dbname]
--tables
: Specify which tables to include in API generation (can accept comma-separated list, eg “orders,sales,customers”)--prompt "..."
: Customizes the AI’s approach to generating the API based on your specific needsAfter running this command, Gateway will generate a gateway.yaml
configuration file. This file contains the complete API definition, including:
You can review and modify this file to verify SQL queries or enable additional features such as PII data cleansing through plugin configurations.
Next StepsAfter generating your API:
./gateway start --config gateway.yaml
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4