Как интерфейс JSON данных и отображения таблицы - PullRequest
0 голосов
/ 28 февраля 2020

Итак, я пытаюсь отобразить список устройств из базы данных в таблицу материалов angular. Я написал REST API для него, который выглядит примерно так:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const mysql = require('mysql');

//parse application/json
app.use(bodyParser.json());

//create database connection
const conn = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'project'
});

//connect to database
conn.connect((err) =>{
  if(err) throw err;
  console.log('Mysql connected....');
});

//server listening
app.listen(3000,() =>{
  console.log('Server started on port 3000');
});

//show login page
app.use(express.static(__dirname+'/dashboard'))
app.get('/',(req,res) => {
  res.send('Use /api/devices');
});

//show all devices
app.get('/api/devices',(req,res) => {
  let sql = "SELECT * FROM tempstatus";
  let query = conn.query(sql, (err, results) => {
    if(err) throw err;
    res.send(JSON.stringify({'status': 200, 'error': null, 'response': results}));
  });
});

А теперь я написал контроллер следующим образом:

var myApp = angular.module('myApp', [require('angular-material-data-table')]);

myApp.controller('DeviceController', function($scope, $http){
    console.log('DeviceController loaded')
    $scope.getDevices = function(){
        var device = null;
        $http.get('/api/devices').success(function(response) {
            device = response;
        });
    }
}

Я довольно новичок в Angular и nodejs, и я действительно не знаю, что еще я должен сделать и как отобразить данные, которые я получаю в таблице материалов angular. Не могли бы вы мне помочь?

Это данные JSON, которые я получаю от API:

"status":200,"error":null,"response": {"serialnum":"0","time":"2020-02-11T12:36:27.000Z","type":"","temparature":"","date":"2020-02-10T18:30:00.000Z","status":"not active","comments":""}

И это файл angular .module.ts. Как я уже сказал, я новичок в angular и не знаю, как написать свой код. До сих пор я делал это только с контроллером в angular:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';

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