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])

    Install

    npm i angular2-api

    DownloadsWeekly Downloads

    2

    Version

    0.2.0

    License

    MIT

    Last publish

    Collaborators

    • mikaak