Gilfeather/furnace

📚 Add comprehensive API documentation

開放

#9 建立於 2025年7月16日

 (0 則留言) (0 個反應) (0 位負責人)Rust (5 個分叉)auto 404
documentationgood first issuehelp wanted

倉庫指標

星標
 (64 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

Description

Create detailed API documentation with examples and OpenAPI/Swagger specification.

Acceptance Criteria

  • Add OpenAPI 3.0 specification file (openapi.yaml)
  • Document all endpoints with request/response schemas
  • Include example requests and responses
  • Add error code documentation
  • Generate HTML documentation from spec
  • Add link to docs in README

Current API Endpoints to Document

  1. GET /healthz - Health check
  2. GET /model/info - Model information and statistics
  3. POST /predict - Inference endpoint

Updated API Specifications

Since the API now uses built-in models (ResNet18), documentation should reflect:

Model Info Response:

  • Built-in model: resnet18
  • Input shape: [1, 3, 224, 224] (150,528 elements)
  • Output shape: [1000] (ImageNet classes)
  • Backend: burn-resnet18

Predict Request:

  • Single:
  • Batch:

Error Codes:

  • 400: INPUT_VALIDATION_FAILED
  • 500: INFERENCE_FAILED
  • 503: MODEL_NOT_LOADED

Implementation Guidance

  • Use utoipa crate for Rust-native OpenAPI generation
  • Add documentation attributes to API handlers in src/api.rs
  • Include realistic ResNet18 example data (150,528 input values)
  • Consider using Swagger UI for interactive docs
  • Update examples to use built-in models instead of file paths

Estimated Difficulty

Medium - 1-2 days (updated for current API structure)

貢獻者指南