Huma's SchemaLinkTransformer (enabled by default) emits a `$schema` field on every JSON response and an example URL in the spec. Both were broken in our setup: the example URL used Huma's "https://example.com" placeholder because no Servers were declared, and the runtime URL pointed at /schemas/Label.json instead of /api/v2/schemas/Label.json because Huma can't see the Echo group prefix. Two changes: - Set OpenAPI Servers to a list with the relative GroupPrefix first and, if service.publicurl is configured, the absolute deployment URL second. Servers[0] feeds Huma's getAPIPrefix / addSchemaField / Transform fallback; Servers[1] is informational metadata for SDK generators and docs UIs. Keeping the relative URL at index 0 dodges a Huma quirk that double-prefixes the runtime $schema URL when the index-0 server URL carries a path component. - Add /api/v2/schemas/:schema to unauthenticatedAPIPaths so editors and SDK tooling can fetch schemas without a token, mirroring how the spec itself is reachable. |
||
|---|---|---|
| .. | ||
| v1 | ||
| v2 | ||