0.0.9 • Published 4 months ago
oda-api-rx v0.0.9
Библиотека oda-api-rx представляет из себя адаптер между REST API СУБД ODANT и клиентским приложением разрабатываемом на фреймворке Angular или любом другом фреймворке с поддержкой библиотеки RXJS
Установка DI-фабрики в app.module.ts Angular
@NgModule({
declarations: [
AppComponent,
],
imports: [ ],
providers: [
{
provide: OdantApi,
useFactory: () => {
return new OdantApi({
protocol: 'http',
host: location.hostname, //например к локальному хосут 127.0.0.1
port: +location.port, // по умолчанию порт 8080
});
},
},
],
bootstrap: [AppComponent],
})
Для проксирования приложения к серверу необходимо:
Организвать файл proxy.conf.js в директории src
const PROXY_CONFIG = [
{
context: ["/api", "/web", "/async", "/ws"],
target: "http://127.0.0.1:8080/",
secure: false,
changeOrigin: false,
ws: true,
},
];
module.exports = PROXY_CONFIG;
Добавить в angular.json соответствующую запись "proxyConfig": "src/proxy.conf.js"
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "nature-list:build",
"proxyConfig": "src/proxy.conf.js"
},
"configurations": {
"production": {
"browserTarget": "nature-list:build:production"
},
"development": {
"browserTarget": "nature-list:build:development"
}
},
"defaultConfiguration": "development"
},
Создание сервиса например oda.service.ts
import { IOdaService } from 'oda-api-rx/lib/metatypes/oda-service';
@Injectable({
providedIn: 'root',
})
export class OdaService implements IOdaService {
constructor(public odantApi: OdantApi) {
this.odantApi.webSocketMethods.events$.subscribe((e) => {
if ('data' in e) console.log('webSocket', JSON.parse(e.data));
});
}
getConfig$ () {
return this.odantApi.commonMethods.getConfig()
}
}