Skip to content

harmonize FastAPI output with OpenAPI spec #59

Open

Description

@ctengel

Split from #14

Activity

  1. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor
    1. All response schemas are {} and component schemas are missing
      Both JSONs have no typed response models — HealthResponse, ListBucketResponse, ObjectInfo, ListBucketsResponse, ProblemDetail,
      NodeHealth are all absent. The spec is effectively type-free, making codegen useless.

    2. Duplicate operationId on GET and HEAD for the same path
      Both JSONs assign the same operationId to GET and HEAD on /{bucket}/{key} and /{bucket}/. OpenAPI requires operationIds to be unique
      across the entire document — this is a hard spec violation that breaks most tooling.

    3. PUT success response is 200 instead of 201
      The YAML specifies 201 Created for a successful PUT. Both JSONs only declare 200. This likely reflects an actual bug in the server code,
      not just a documentation gap.

    4. requestBody missing on PUT entirely
      Neither JSON declares the request body for PUT /{bucket}/{key}. Clients have no spec-level indication of what to send or in what format.

    5. Missing error responses across the board
      404, 400, 409, 507, 403, 416 are all absent. Clients relying on the JSON spec have no contract for failure cases. The 404 on GET
      /{bucket}/{key} and GET /{bucket}/ are especially critical for normal operation.

  2. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor

    Revisit in light of 5491dce

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions