{"repo":"johannschopplich/apiful","free":true,"listed":false,"github":"https://github.com/johannschopplich/apiful","clone":"git clone https://github.com/johannschopplich/apiful.git","description":"A fetch client you compose – typed from your OpenAPI schema, no generated client code","language":"TypeScript","stars":100,"topics":["openapi","ofetch","openapi-generator","api-client","unjs"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"APIful APIful provides a unified interface to manage all your API interactions by setting up a client with default fetch options, such as the base API URL and headers. Extensions add a variety of features to the client to match your favorite flavor of API management. You can use one of the built-in extensions to get started right away, or create your own custom extension to meet your specific needs. Setup [!TIP] 📖 Read the documentation [!NOTE] Upgrading from v4? See the migration guide. Usage Your First API Client Create your first API client by initializing it with a base URL and a sample bearer token for authorization: [!NOTE] The createClient function returns an ApiClient instance that can't yet make requests. You'll need to add a handler extension to enable HTTP functionality. Read on to learn how to do this. Built-in Extensions ofetchBuilder What it does: The ofetchBuilder wraps ofetch to handle API requests. apiRouterBuilder What it does: The apiRouterBuilder provides a jQuery-like and Axios-style API for building and making API requests. It allows you to construct your API calls in a declarative way. OpenAPIBuilder What it does: If your API has an OpenAPI schema, APIful can use it to generate types for you, which the OpenAPIBuilder extension then consumes to provide type-safe API calls. For example, the response returned by the API call on the left is typed as follows: Follow the OpenAPI extension documentation to learn more about how to generate TypeScript definitio","default_branch":null,"files":null,"tree":[],"storefront":"/r/johannschopplich","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/johannschopplich/apiful/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}