@proffix/restapi-angular-library
v3.0.2
Published
Programmbibliothek für die einfache Verwendung der PROFFIX REST API in Angular Applikationen
Downloads
38
Readme
PROFFIX REST API Library für Angular
Die PROFFIX REST API Library für Angular ermöglicht die einfache Kommunikation mit der PROFFIX REST API in Angular- Anwendungen. Die Library ist unabhängig von der grafischen Oberfläche und kann mit Ionic oder anderen Frameworks verwendet werden.
Erste Schritte
Ein lauffähiges Angular-Projekt muss vorhanden sein. Über die Angular CLI lässt sich das einfach erstellen.
1. Library im Projekt installieren
Die Library ist über npm verfügbar: npm install @proffix/restapi-angular-library --save
2. Konfiguration und Bootstrapping
Es muss eine von Configuration
vererbte Klasse erstellt werden, in der die beiden abstrakten Methoden requiredWebserviceVersion
und
requiredLicencedModules
überschrieben werden müssen.
import { Injectable } from '@angular/core';
import { PxConfiguration, PxModule, PxVersion } from '@proffix/restapi-angular-library';
@Injectable()
export class AppConfiguration extends PxConfiguration {
public get requiredWebserviceVersion(): PxVersion {
return { Major: 2, Minor: 7, Patch: 1 };
}
public get requiredLicencedModules(): string[] {
return [ "ZEI", "ADR" ];
}
}
Die AppConfiguration
muss Injectable sein, da sie dem dem Dependency Injector als Configuration
für die Library mitgegeben werden muss.
Zusätzliche wird das PxRestApiModule
geladen und über PxRestApiModule.forRoot()
importiert.
// Root Module (src/app.module.ts)
import { PxRestApiModule, PxConfiguration } from '@proffix/restapi-angular-library';
// ...
imports: [ PxRestApiModule.forRoot() ],
providers: [
AppConfiguration,
{ provide: PxConfiguration, useExisting: AppConfiguration }
],
// ...
3. Verbindungseinstellungen hinterlegen
Die Verbindungseinstellungen (Klasse ConnectionSettings
) werden durch den ConnectionSettingsService
im LocalStorage abgelegt.
// Angular Component
import { PxConnectionSettings, PxConnectionSettingsService } from '@proffix/restapi-angular-library';
// ...
constructor(private connectionSettingsService: PxConnectionSettingsService) {
let connectionSettings: PxConnectionSettings = {
WebserviceUrl: "https://restapi.company.invalid",
WebservicePasswortHash: "d3612ab62..."
};
connectionSettingsService.save(connectionSettings);
}
Hinweis: Der SHA256 kann über die statische Methode Hash.sha256
erstellt werden, nachdem die Klasse Hash
importiert wurde.
4. Login durchführen
Der Login kann durchgeführt werden, wenn gültige Verbindungseinstellungen hinterlegt wurden.
// Angular Component
import { PxLogin, PxLoginService, PxConfiguration } from '@proffix/restapi-angular-library';
// ...
constructor(private loginService: PxLoginService, private configuration: PxConfiguration) {
let login: PxLogin = {
Benutzer: "pxuser",
Passwort: "d3612ab62...",
Datenbank: { Name: "PXDB" },
Module: this.configuration.getRequiredLicencedModulesAsStringArray() // Die Module können aus der AppConfiguration gelesen werden
};
this.loginService.doLogin(login).subscribe( // nur zu Anschauungszwecken, nie HTTP-Requests in einem Konstruktor absetzen
login => console.log("Login successful: " + login.Benutzer),
error => console.log("Login failed")
);
}