Ng2Api
Ng2-api is a package that allows to consume Http JSON APIs while retaining type-safety.

Table of contents
Installation
You can install ng2-api via
$ yarn add @flowup/ng2-api
$ npm install @flowup/ng2-api --save
Basic implementation example
:robot: Please follow the Basic usage for the full example.
Ng2API supports GET, POST, PUT and DELETE calls in it's base. All methods can be called on
a single model or array, e.g.: get(modelArray)
or getSingle(model)
.
1) Initialize the module:
import { NgModule } from '@angular/core';
import { Ng2APIModule } from '@flowup/ng2-api';
@NgModule({
imports: [
Ng2APIModule.forRoot('base_serve_url.com')
]
})
class AppModule {}
2) Define a model and a service afterwards
import { APIConfig, Resource } from '@flowup/ng2-api';
export interface User {
email: string
}
@Injectable()
export class UserService extends Resource<User> {
constructor(config: APIConfig, http: Http) {
super(config, http, '/users');
}
}
3) Use the service within a component
@Component({...})
class MyComponent {
constructor(private users: UserService) { }
getUserById(id: number): Observable<User> {
return users.getSingle({args: [id]});
}
createUser(user: User): Observable<User> {
return users.create(user);
}
}
For more examples visit the Cookbook
Build
Run yarn build
to build the project. The build artifacts will be stored in the dist/
directory.
Running unit tests
Run yarn test
to execute unit and e2e tests.
Contributing
If you would like to contribute, read first through Angular contribution guidelines.
Get the repository
$ git clone https://github.com/flowup/ng2-api.git