use-api
use-api is a RustUse facade crate for small, focused API primitive crates. It models common API concepts, styles, contracts, identifiers, labels, and metadata without becoming an application framework.
It is not a web framework, server framework, HTTP client, client library, OpenAPI generator, GraphQL engine, or gRPC implementation. It avoids network calls, transport behavior, code generation, and heavy protocol dependencies.
Sibling relationships
use-restmodels REST-style primitives without claiming full REST compliance.use-openapimodels API description and specification primitives without parsing or generating full OpenAPI documents.use-graphqlmodels GraphQL naming, schema, and query vocabulary without parsing or executing GraphQL.use-grpcmodels gRPC service, method, status, and streaming metadata without transport or Protobuf behavior.use-rpcmodels generic RPC primitives in a protocol-neutral way.
use-http remains under the RustUse use-web set. use-api may interoperate with HTTP primitives later, but it should not duplicate all HTTP behavior. use-protobuf should remain separate from use-grpc.
Basic usage
#
#
# Ok::
Facade aliases
The facade re-exports child crates with explicit aliases such as rest, openapi, graphql, grpc, rpc, endpoint, route, version, pagination, cursor, rate_limit, error, key, webhook, idempotency, content_negotiation, auth, request, response, schema, param, header, media_type, deprecation, resource, and operation.
Non-goals
- No web framework or server framework.
- No HTTP client or server implementation.
- No OpenAPI generator or full parser.
- No GraphQL parser or execution engine.
- No gRPC transport or Protobuf implementation.
- No code generation.
- No network access.
License
Licensed under either of the following, at your option:
- Apache License, Version 2.0
- MIT license