@t2ee/restful
allows you to write restful clients that have verbal meanings, easy to read and easy to code.
For detailed introduction and examples, please visit core.t2ee.org.
npm i reflect-metadata @t2ee/core @t2ee/restful -S
interface Repository {
id: number;
name: string;
//...
}
class GithubRepo {
@GET('/users/{username}/repos')
listUserRepos(@Path('username') username: string, @Query('type') type): Promise<Repository[]> {return null}
}
const builder = new RestfulService().baseUrl('https://api.github.com/');
const client = builder.create(GithubRepo);
const repos = await client.listUserRepos('t2ee', 'all');