Skip to content

rawrmaan/restyped-axios

Repository files navigation

RESTyped Axios

Axios typings for consuming RESTyped APIs

Usage

npm install restyped-axios

Note: >=2.0.0 supports TypeScript 2.8 and higher. Use a lower version if you need TypeScript 2.4-2.7 support.

It's just like normal axios, except you'll need to provide a RESTyped API definition file for the API you want to use.

import axios from 'restyped-axios'
import {GiphyAPI} from 'restyped-giphy-api'

const client = axios.create<GiphyAPI>({baseURL: 'http://api.giphy.com/v1'})

// You'll get a compile error if you call an invalid route or use incorrect query params. Yay!
client.request({
  url: '/gifs/trending',
  params: {
    api_key: 'Qr5fw...'
  }
}).then(...)

Special cases

GET with query params (e.g. /gifs/trending?api_key=...)

Use the client.request({url: ..., params: ...}) syntax instead of client.get in order to have your params typechecked. See above.

Routes with params in their paths (e.g. /posts/:id/like)

Explicitly declare the canonical route in angle brackets to avoid an invalid route error.

client.post<'/posts/:id/like'>('/posts/3/like')

Popular APIs to try out

About

Axios typings for consuming RESTyped APIs

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •