3.0.5 • Published 8 years ago
angular2-rest-client v3.0.5
Angular2 REST Client
Angular2 REST Client inpsired by angular2-rest
Tooling inspired by angular2-webpack-starter
Installation
npm install angular2-rest-client --save / yarn add angular2-rest-client --save
Uses deprecated @angular/http. Won't support @angular/common/http until it's stable and better documented.
Example
// add base url from string
@BaseUrl('http://some.api/')
// add base url from json file
@BaseUrl('/config.json', 'base-url')
// add base url from function
// be sure to declare the function non-arrow style to have correct scope of this
@BaseUrl(function(){ return this.http.get('/config.json').map( (r: Response) => r.json()['base-url'] ) })
// only one of these per class
// add some general headers
@Headers
({
'X-Some-Common-Header': 'Some value',
'X-Some-Other-Common-Header': 'Some other value'
})
// add custom error handler
@ApiError( (err, caught): Observable<string> => Observable.throw(new CustomError('BOOM!')) )
// you probably want to make this injectable
@Injectable()
// needst to extend AbstractApiClient
class ApiClient extends AbstractApiClient
{
constructor( protected http: Http ) { super(http); }
// specific method headers
@Headers({ 'X-Some-Specific-Header': 'Some value' })
// expected response content type
@Type( ResponseContentType.Blob )
// GET type request
@GET('/resource/{id}')
// add param to path: {id} is replaced by param value
public read( @Path('Id') id: string ): Observable<Response> { return }
// POST type request
@POST('/resource')
// add body fileds to the request
public create( @Body('Name') name: string, @Body('Contents') file: File ): Observable<Response> { return }
@POST('/resource')
// can also add just a single param without any name, which will add the body as is to the request
public create( @Body() body: string ): Observable<Response> { return }
// PUT type request
@PUT('/resource')
// add header from param to the request
public update( @Header('X-Some-Author') author: number ): Observable<Response> { return }
// DELETE type request
@DELETE('/resource')
// add query param: ?filter=
public delete( @Query('filter') filter: string ): Observable<Response> { return }
// HEAD type request
@HEAD('/resource')
public check(): Observable<Response> { return }
// OPTIONS type request
@OPTIONS('/resource')
public describe(): Observable<Response> { return }
}License
MIT
3.0.5
8 years ago
3.0.4
8 years ago
3.1.0
8 years ago
3.0.3
8 years ago
3.0.2
8 years ago
3.0.1
8 years ago
3.0.0
8 years ago
2.1.1
9 years ago
2.1.0
9 years ago
2.0.1
9 years ago
2.0.0
9 years ago
1.3.1
9 years ago
1.3.0
9 years ago
1.2.4
9 years ago
1.2.3
9 years ago
1.2.2
9 years ago
1.2.1
9 years ago
1.2.0
9 years ago
1.1.4
9 years ago
1.1.3
9 years ago
1.1.2
9 years ago
1.1.1
10 years ago
1.1.0
10 years ago
1.0.10
10 years ago
1.0.9
10 years ago
1.0.8
10 years ago
1.0.7
10 years ago
1.0.6
10 years ago
1.0.5
10 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.2
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago