Skip to main content

Getting Started

Let's rster rster in less than 5 minutes.

Let's get started with rster​

Prerequisites​

We recommend you to have basic knowledge of the following tools before starting:

  • node.js: a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • npm: a package manager for the JavaScript programming language.

What you'll need​

  • Node.js version 14 or higher (which comes with npm) installed on your computer.
    • When installing Node.js, you are recommended to check all checkboxes related to dependencies.

Installation​

Install rster package locally​

npm install rster

alternatively you can use yarn

yarn add rster

Additional Dependencies​

rster packages a few core dependencies that will help you getting started. However we have a few more dependencies that you might want to install. You definitly want to install a worker implementation. A worker implementation is a package that allows you to run your rster application on a webserver so you can access your api from the internet. We recommend using @rster/worker-express as it is the easiest to get started with.

find more worker implementations here

npm install @rster/worker-express

alternatively you can use yarn

yarn add @rster/worker-express

Lets use express in our application​

Firstly we want to import the rest function from rster as well as our worker's implementation. (we'll use express in this example)

import rest from "rster";
import "@rster/worker-express";

The worker will extend the prototype of our rest api object. Types are automatically extended as well.

We will now add a simple ping endpoint. As ping endpoints are very common, we have a helper function for that.

const api = rest(function () {
this.usePing(); // Adds a ping endpoint to our api
});

Great. This time we want to add a custom endpoint. We will add a simple hello world endpoint.

const api = rest(function () {
this.get("/hello", function () {
this.action(function (req, res) {
res.status(200).json({ message: "Hello World!" }).end();
});
});
});

NOTE: It is important to use the function() syntax instead of the arrow function () => {} as the this keyword is not bound to the arrow function.

Now we can create a webserver using express and pass our api it using the use function and the express worker.

import express from "express";

const app = express();

app.use(api.express());