Проектирование и стандартизация HTTP запросов
Всем привет! В процессе изучения веб разработки и работы над проектами подметил, что описание запросов со стороны сервера само по себе сложно. В процессе у меня возникли вопросы, как мне описывать запросы так, чтобы каждый запрос не выглядел по-своему и чтобы плохо описанные запросы не создавали путаницу в дальнейшей разработке.
Есть ли какие-либо паттерны (типа MVC для приложения в целом, на который я наседаю), которые полностью исчерпывают тему запросов так, чтобы клиент точно знал, что и как должно быть в запросе и в случае неверного запроса получал отчет о том, что не так, и чтобы сервер всегда был уверен, что в запросе есть нужные данные, либо не получал его, если их нет?
Заранее спасибо за ответы. Вообще сейчас я сосредоточился в основном на NodeJS, но буду рад и более общим решениям.
Ответы (1 шт):
Попробуйте использовать nestjs
Метод контроллера MVC
@Post()
create(@Body() createUserDto: CreateUserDto) {
return 'This action adds a new user';
}
Объект DTO, описывающий BODY запроса
import { IsEmail, IsNotEmpty } from 'class-validator';
export class CreateUserDto {
@IsEmail()
email: string;
@IsNotEmpty()
password: string;
}
Ответ, если BODY не по шаблону
{
"statusCode": 400,
"error": "Bad Request",
"message": ["email must be an email"]
}