angular2-api

0.2.0 • Public • Published

angular2-api

Api service for angular2 to work with REST resources

Getting Started

$ npm i --save angular2-api

Add this to you're bootstrap file

import {ApiService, provideApiService} from 'angular2-api'

bootstrap(App, [
  ApiService
])

// To provide custom global deserialize/serialize/serializeParams
bootstrap(App, [
  provide(ApiConfig, {useValue: new ApiConfig({
    basePath: '/test',

    deserialize(data) {
      return data
    },

    serialize(data) {
      return data
    },

    serializeParams(data) {
      return data
    }
  })}),
  ApiService
])

Using ApiService

The most common use case for api service would be to create resources

import {Injectable} from 'angular2/core'
import {ApiResource, ApiService} from 'angular2-api'

@Injectable()
export class MyResource implements ApiResource {
  endpoint: string = 'my-endpoint'
  idAttribute: string = 'testId' // If not provided will use 'id'

  deserialize(data) {
    return data
  }

  serialize(data) {
    return data
  }
  
  serializeParams(params) {
    return params
  }
}

export class MyComponent {
  constructor(apiService: ApiService, myResource: MyResource) {
    apiService.find(myResource, 1, ...args)
  }
}

Methods

For url you can pass an array of strings or a string

  • ApiService.get(resource, url, [params])
  • ApiService.put(resource, url, data, [params])
  • ApiService.patch(resource, url, data, [params])
  • ApiService.post(resource, url, data, [params])
  • ApiService.delete(resource, url, [params])
  • ApiService.find(resource, id, [params])
  • ApiService.findAll(resource, [params])
  • ApiService.create(resource, data, [params])
  • ApiService.update(resource, [data, params])
  • ApiService.destroy(resource, [id, params])

Package Sidebar

Install

npm i angular2-api

Weekly Downloads

2

Version

0.2.0

License

MIT

Last publish

Collaborators

  • mikaak