Skip to content

APiGenEnterprise API Generation Framework

Generate production-ready REST APIs from SQL schemas in minutes

APiGen

Quick Example

java
// Define your entity
@Entity
@Audited
public class Product extends AuditableEntity {
    @Id @GeneratedValue
    private Long id;
    private String name;
    private BigDecimal price;
}

// Create controller - CRUD is automatic
@RestController
@RequestMapping("/api/products")
public class ProductController extends CrudController<Product, Long> {
    // Endpoints included:
    // GET    /api/products         - List with pagination
    // GET    /api/products/{id}    - Get by ID
    // POST   /api/products         - Create
    // PUT    /api/products/{id}    - Update
    // DELETE /api/products/{id}    - Soft delete
}
bash
# Or generate from SQL
./gradlew :generator:cli:run --args="generate \
  --input schema.sql \
  --language java-spring \
  --output ./generated"

Supported Languages

LanguageFrameworkStatus
JavaSpring Boot 4.x✅ Production
JavaQuarkus✅ Production
KotlinSpring Boot✅ Production
PythonFastAPI✅ Production
PythonDjango REST✅ Production
TypeScriptNestJS✅ Production
TypeScriptExpress✅ Production
C#ASP.NET Core✅ Production
GoChi✅ Production
GoGin✅ Production
PHPLaravel✅ Production
RustAxum✅ Production

Project Structure

apigen/
├── libs/           # Core libraries
│   ├── core        # CRUD, auditing, caching
│   ├── security    # JWT, OAuth2
│   └── exceptions  # RFC 7807 errors

├── generator/      # Code generation
│   ├── codegen     # Multi-language engine
│   ├── server      # REST API for generation
│   └── cli         # Command-line interface

├── features/       # Advanced features
│   ├── graphql     # GraphQL layer
│   ├── grpc        # gRPC services
│   ├── gateway     # API Gateway
│   └── ...         # 11 more modules

└── mcp/            # AI Integration
    ├── java        # Native MCP server
    └── python      # Python MCP wrapper

Released under the MIT License.