This projects helps in managing TypeScript typings and dummy API endpoints with all the possible outcomes.
yarn add @anarock/api-typings@https://github.com/anarock/anarock.api-typings#1.1.1
Then in your code import required typings
import axios from "axios";
import { Countries } from "@anarock/api-typings/typings/meta-api-v0-countries";
function fetchCountries() {
return axios<Countries>({
url: `${META_SERVICE}api/v0/countries`
});
}
You can run the mock server after installing it as dep using
yarn anarock-mock-serve
To change the port, install cross-env and then
cross-env MOCK_SERVER_PORT=3001 anarock-mock-serve
- Make sure you have node installed on your system.
- Install yarn
npm i -g yarn
- clone the repo
- Go into the repo and run yarn.
Then
-
yarn serve
to serve dummy APIs. -
yarn build
to generate typings.
Follow the structure: [serviceName]/api/v0/metadata.json
.
Write your schema in the corresponding JSON file. I will write more about how to write a schema later. For now, you can see the two API examples. This supports JSON Schema draft 4 so make sure you use that. Even though you will find draft-07 written everywhere, the features used are of draft-04.
yarn serve
The server will run at http://localhost:3000
In the endpoint all the /
are replaced by _
.
Just go to http://localhost:3000 and you will find all the URLs there.
Just like the dummy data, typings are generated automatically when you run yarn build
.
Don't touch the following files as they are generated files.
- db.json
- typings/*
- routes.json