Package Exports
- typescript-rest
- typescript-rest/dist/server/model/errors
- typescript-rest/dist/server/server-container
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (typescript-rest) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
REST Services for Typescript
This is a lightweight annotation-based expressjs extension for typescript.
It can be used to define your APIs using ES7 decorators.
Table of Contents
Installation
This library only works with typescript. Ensure it is installed:
npm install typescript -g
To install typescript-rest:
npm install typescript-rest --save
Configuration
Typescript-rest requires the following TypeScript compilation options in your tsconfig.json file:
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true
}
}
Basic Usage
import * as express from "express";
import {Server, Path, GET, PathParam} from "typescript-rest";
@Path("/hello")
class HelloService {
@Path(":name")
@GET
sayHello( @PathParam('name') name: string ): string {
return "Hello " + name;
}
}
let app: express.Application = express();
Server.buildServices(app);
app.listen(3000, function() {
console.log('Rest Server listening on port 3000!');
});
That's it. You can just call now:
GET http://localhost:3000/hello/joe
Complete Guide
Check our documentation.
Boilerplate Project
You can check this project to get started.