Create type-safe TypeScript API client automatically generated from the OpenAPI specification. Includes generated schema types and documented client wrapper for type-safe backend communication. Ref: T008 (specs/001-modbus-relay-control)
1.4 KiB
1.4 KiB
API Client
This directory contains the auto-generated TypeScript API client for the STA backend.
Files
schema.ts- Auto-generated OpenAPI type definitions (do not edit manually)client.ts- API client instance with type-safe methods
Regenerating the Client
To regenerate the TypeScript client after backend API changes:
-
Start the backend server:
cargo run -
Download the OpenAPI spec:
curl http://localhost:3100/specs > openapi.yaml -
Generate TypeScript types:
pnpm exec openapi-typescript openapi.yaml -o src/api/schema.ts
Usage Example
import { apiClient } from '@/api/client';
// GET request
const { data, error } = await apiClient.GET('/api/health');
if (error) {
console.error('Health check failed:', error);
} else {
console.log('Server is healthy');
}
// GET request with response data
const { data: meta, error: metaError } = await apiClient.GET('/api/meta');
if (metaError) {
console.error('Failed to get metadata:', metaError);
} else {
console.log('App name:', meta.name);
console.log('App version:', meta.version);
}
Configuration
The API base URL can be configured via the VITE_API_BASE_URL environment variable.
Create a .env file in the project root:
VITE_API_BASE_URL=http://localhost:3100
For production builds, set the environment variable to point to your deployed backend.