API Development
knowledge skill
Designs and implements RESTful endpoints for CRUD operations on a database table. Produces a FastAPI application with OpenAPI schema, Pydantic models, and SQLAlchemy ORM integration.
Worked examples
- {"input": {"table_name": "users", "columns": [{"name": "id", "type": "integer", "primary_key": true}, {"name": "email", "type": "string"}], "methods": ["create", "read", "update", "delete"]}, "output": {"app_file": "from fastapi import FastAPI, HTTPException\nfrom pydantic import BaseModel\nfrom sqlalchemy import create_engine, Column, Integer, String\nfrom sqlalchemy.ext.declarative import declarative_base\n\nBase = declarative_base()\nengine = create_engine('sqlite:///./test.db')\n\nclass User(Base):\n __tablename__ = 'users'\n id = Column(Integer, primary_key=True)\n email = Column(String)\n\nBase.metadata.create_all(engine)\n\napp = FastAPI()\n\nclass UserCreate(BaseModel):\n email: str\n\n@app.post(\"/users/\")\ndef create_user(user: UserCreate):\n return {\"id\": 1, \"email\": user.email}"}}
- {"input": {"table_name": "products", "columns": [{"name": "id", "type": "integer", "primary_key": true}, {"name": "name", "type": "string"}, {"name": "price", "type": "float"}], "methods": ["create", "read"]}, "output": {"openapi_schema": "{\n \"openapi\": \"3.0.2\",\n \"info\": {\"title\": \"Product API\", \"version\": \"1.0.0\"},\n \"paths\": {\n \"/products/\": {\n \"post\": {\n \"summary\": \"Create product\",\n \"requestBody\": {\"content\": {\"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/Product\"}}}},\n \"responses\": {\"201\": {\"description\": \"Created\"}}\n },\n \"get\": {\"summary\": \"List products\", \"responses\": {\"200\": {\"description\": \"OK\"}}}\n }\n },\n \"components\": {\"schemas\": {\"Product\": {\"type\": \"object\", \"properties\": {\"name\": {\"type\": \"string\"}, \"price\": {\"type\": \"number\"}}}}\n}", "requirements_txt": "fastapi==0.95.2\nuvicorn==0.22.0\nsqlalchemy==2.0.15\npydantic==1.10.7"}}
Input
- table_name: string
- columns: list of dicts
- methods: list of strings
Output
- app_file: string
- openapi_schema: string
- requirements_txt: string
Details
- Skill type: knowledge skill
- Safety level: safe_public_research
- Version: 1.0.0