Size: a a a

NestJS — русскоязычное сообщество

2017 December 20

R

Rustam in NestJS — русскоязычное сообщество
Dmitry Zakharov
Да завтра вечерком закомичу дам ссылку
ну всё время пошло, ждём ссылку)
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
Александр Духновский
я не нашел мидлварей для объявлений. Есть вот такие

import { Middleware, NestMiddleware, ExpressMiddleware } from '@nestjs/common';

@Middleware()
export class LoggerMiddleware implements NestMiddleware {
 resolve(...args: any[]): ExpressMiddleware {
   return (req, res, next) => {
     console.log('Request...');
     next();
   };
 }
}


Но это не совсем оно
import { Middleware, NestMiddleware, ExpressMiddleware } from '@nestjs/common';
import * as express from 'express';

const staticMiddleware = express.static(тут root);

@Middleware()
export class StaticMiddleware implements NestMiddleware {
 resolve(...args: any[]): ExpressMiddleware {
   return (req, res, next) => {
        staticMiddleware(req,res,next)
   };
 }
}

может быть как-то так
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
только как ее глобально навесить
источник

АД

Александр Духновский in NestJS — русскоязычное сообщество
для статики думаю такое возможно
источник

АД

Александр Духновский in NestJS — русскоязычное сообщество
через MiddlewaresConsumer
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
а ну логично. у рутового модуля, да?
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
Kulagin Alex
ну и если надо в сервисах перегрузить методы
тогда это должен быть интерфейс а не базовый класс
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
Dmitry Zakharov
тогда это должен быть интерфейс а не базовый класс
скорее абстрактный базовый класс
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
надо же чтобы в нем были реализованы базовые операции, которые избавят от копипасты
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
ну как варик, но если абстрактный
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
но можно и через интерфейс. Просто имплементишь и все
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
в общем кто как делает
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
по сути это паттерн DAO тк сервис работает с базой
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
согласен. от задачи зависит. если боилерплетный круд разных сущностей, то абстрактный класс, если что-то более сложное то интерфейс
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
кто-нибудь пытался в пайпе достучаться до сервисов?
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
задача следующая: на роуты /api/todo/:id  вешаю
@Get(":id")
   async findOne(@Param('id') id) {
       return this.model.findById(id)
   }


Хочу:
@Get(":id")
   async findOne(@Param('id', new ExtractTodoPipe()) todo) {
       return todo
   }
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
да в примерах поищи в модуле common есть пайпы
источник

DZ

Dmitry Zakharov in NestJS — русскоязычное сообщество
там есть что валидирует id
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
с валидацией нашел
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
но там не понятно как подтянуть сервисы, чтобы в базу постучаться
источник