Получение сообщения об ошибке из запроса http.get - PullRequest
0 голосов
/ 18 февраля 2019

Я использую Express.js и msnodesqlv8 для запуска оператора.

Полученная ошибка имеет правильные элементы, которые должны быть переданы контроллеру, но не распространяется там должным образом для части Ошибка .

Возвращается следующая ошибка:

{ Ошибка : [Microsoft] [Собственный клиент SQL Server 11.0] [SQL Server] Оператор INSERT конфликтует сПРОВЕРЬТЕ ограничение "MyConstraint".Конфликт произошел в базе данных «Mydatabase», таблица «dbo.MyTable».sqlstate: '23000', код: 547}

Но ошибка, возвращенная контроллеру с кодом состояния 500, не используется должным образом и Я могу получить доступ только к sqlstate и коду .Это потому, что сообщение об ошибке от SQL Server не отформатировано правильно для анализа?

Как получить часть сообщения Error ?

var sql = require('msnodesqlv8');

app.get('/myroute/*', function (req, res) {

var queryData = url.parse(req.url, true).query;
var param1= queryData.param1;

res.header("Access-Control-Allow-Origin", allowOriginUrl)
let txtFile =  "myFile.sql"

let query = fs.readFileSync(txtFile,'utf8');
query = query.replace('?param1',param1) 

sql.query(regroupement_conn, query, (err, rows) => {
    if(err)
    {
        //throw err;
        console.log(err)
        result = res.status(500).send({
             message : err
          })
    }
    else
    {
        result = res.send(rows);
    }
}); 

})

Я получаю сообщение об ошибке, как это происходит от моего контроллера

return  this.http.get<any>(`${environment.apiUrl}/myroute/` ,{params}).pipe(

catchError((err) => {
    throw  err;
})
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...