1.0.1-rc • Published 6 years ago

lnl-rest-angular v1.0.1-rc

Weekly downloads
12
License
MIT
Repository
github
Last release
6 years ago

lnl-rest-angular

perform http rest requests in angular 5

Install

npm i --save lnl-rest-angular

Usage

In AppModule

import { BrowserModule } from '@angular/platform-browser';
...
import { LnlRestAngularModule } from 'lnl-rest-angular';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    ...
    LnlRestAngularModule
  ],
  providers: [...],
  bootstrap: [AppComponent]
})
export class AppModule { }

In component ts

import { Component, OnInit } from '@angular/core';
...
import { HttpPresetService } from 'lnl-rest-angular';



@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
  
  baseURL : string = 'http://www.myapi.com'; //define base url for resource requests 

  constructor(private httpPreset : HttpPresetService) { }

  ngOnInit() {
    this.httpPreset.setBaseURL(this.baseURL); //set base url
  }

  myRequests() : void {
  	let token = 'token';
  	this.httpPreset.setToken(token); // set token variable for resquests

  	/* GET request */
  	this.httpPreset.get(this.baseURL + '/articles')
	.suscribe({
    next(val : any){ /* success */ },
    error(err : any) { /* error */ }
    });

  	/* POST request */
  	this.httpPreset.post(this.baseURL + '/articles',{name: 'lemon'})
  	.suscribe({
      next(val : any){ /* success */ },
      error(err : any) { /* error */ }
      });


	/* PUT request */
  	this.httpPreset.put(this.baseURL + '/articles/1',{id: 1, name: 'lemon'})
  	.suscribe({
      next(val : any){ /* success */ },
      error(err : any) { /* error */ }
      });


	/* DELETE request */
  	this.httpPreset.delete(this.baseURL + '/articles/1')
  	.suscribe({
      next(val : any){ /* success */ },
      error(err : any) { /* error */ }
      });


	/* RESOURCE request */
  	this.httpPreset.resource('articles', 'PUT', {name : 'lemon'}, '1', true)
  	.suscribe({
      next(val : any){ /* success */ },
      error(err : any) { /* error */ }
      });

  }

}

Custom usage

import { Injectable } from '@angular/core';
...
import { HttpPresetService } from 'lnl-rest-angular';
import 'rxjs';


@Injectable()
export class ApiService {

  static me: ApiService;

  baseURL: string = "http://www.myapi.com";

  constructor (private httpPreset: HttpPresetService) {
  	this.httpPreset.setBaseURL(this.baseURL);
  	ApiService.me = this;
  }

  /**
   * Article resource 
   * @param {string  = "get"} method [description]
   * @param {any     = null}  data   [description]
   * @param {string  = null}  id     [description]
   * @param {boolean = true}  token  [description]
   */
  public article(method:string = "get", data: any = null, id: string = null, token: boolean = true) {
  	return this.httpPreset.resource("article", method, data, id, token);
  }
  

  /**
   * Vendor authentication
   * @param {any} data [description]
   */
  public ecoleLogin (data: any) {
  	return this.httpPreset.post(this.baseURL + "/login/vendor", data);
  }
}

Documentation

setBaseURL(url: string) : void

Define base url of api

Parameters

setToken(token: string) : void

Define token

Parameters

  • token : 'gfhejfsdkfdedféSDFAERZFSDHJDSZ4RFEDHREVSHSREFD';

get (url: string)

Perform http get resquest

Parameters

post (url: string, data: any)

Perform http post resquest

Parameters

put (url: string, data: any)

Perform http post resquest

Parameters

delete (url: string)

Perform http put resquest

Parameters

resource (name: string, method: string, data: any = null, id: string = null, token: boolean = false)

Perform http post resquest

Parameters

  • name : name of route
  • method : http method (GET, POST, PUT, DELETE)
  • data : json data formated
  • id : item id
  • token : tell if token must be used