Skip to content

Latest commit

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

yipp

Use a GQL-inspired syntax to build a schema-first driven REST API.

# schema.yipptypeFieldError {
field: String!message: String!
}
typeError {
message: String!fields: [FieldError!]!
} enumUserType {
 admin user
}
login: POST /login {
body: {
username: String!
password: String!
}
200: {
body: {
token: String!
}
}
400: {
body: Error
}
} getUser: GET /users/:id(Int) {
headers: {
authorization: String!
}
200: {
body: {
id: Int!
username: String!
type: UserType!
}
}
400: {
body: Error
}
}

Install and usage

npm install -g yipp
yipp axios-client output.ts schema.yipp

CLI

Can be used to generate different clients, servers, etc.

Example of generators using this schema:

Usage: yipp [options] <type> <output-file> <input-file...>
generate
Arguments:
type (choices: "fastify-plugin", "axios-client")
output-file generated typescript file
input-file One or more api schema files. Will be merged into one schema if several files.
Options:
-w --watch watch for changes (default: false)
-h, --help display help for command

🐄

About

An api tool for building rest apis, heavily inspired by GQL syntax.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages