Как правильно обрабатывать ошибки проверки правильности Sequelize? - PullRequest
0 голосов
/ 15 марта 2019

Я создаю простой REST API с Typescript, Koa и Sequelize.

Если клиент выполняет недопустимый запрос PUT с пустым полем «title» или «author», он возвращает ошибку 500.Я бы предпочел не сообщать об ошибке, подобной этой, но вместо этого хотел бы вернуть «400 неверных запросов».Как правильно это сделать?

Вот часть контроллера:

import {JsonController, Get, Post, Put, Body, Param} from "routing-controllers";
import {Book} from "../models/Book";

@JsonController("/api")
export class BookController {
    @Put("/books/:id")
    async update(@Param("id") id: number, @Body() book: Book) {
        return await Book.update(book, {where: {id: id}});
    }
}

И это модель, где я использую валидаторы Sequelize в качестве декораторов:

import {Table, Column, NotEmpty, Equals, Model, HasMany} from 'sequelize-typescript';

@Table({tableName: 'Books'})
export class Book extends Model<Book> {

    @NotEmpty
    @Column
    title: string;

    @NotEmpty
    @Column
    author: string;
}

Сообщение об ошибке:

"message": "Validation error: Validation notEmpty on title failed,\nValidation error: Validation notEmpty on author failed"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...