Обновление
С понедельником goose вы можете сделать это следующим образом:
student.interface. ts
export interface Student {
name: string;
rollno: number;
section: string;
};
student.schema.ts
import { Schema } from 'mongoose';
export const StudentSchema = new mongoose.Schema({
name: String,
rollno: Number,
section: String,
});
crudService. service.ts
import { Injectable, Inject } from '@nestjs/common';
import { Model } from 'mongoose';
import { studentdto} from './student.dto';
import { Student } from './student.interface.ts';
import { StudentSchema } from './student.schema.ts';
@Injectable()
export class CrudService {
constructor(
@Inject('STUDENT_MODEL')
private studentModel: Model<StudentSchema>
) {}
async insert(studentDto: studentdto): Promise<Student> {
const createdUser = new this.studentModel(studentDto);
return createdUser.save()
}
}
Более подробную информацию вы можете найти здесь .
Вы можете использовать DTO в контроллере.
Student.controller.ts
import {
Controller, Post, Body
} from "@nestjs/common";
import { CrudService } from './crud.service.ts';
import { studentdto} from './student.dto';
@Controller("student")
export class StudentController {
constructor(
private readonly crudService: CrudService
) {
@Post("addStudent")
addStudent(
@Body() newStudent: studentdto
): studentdto {
return this.crudService.insert(newStudent);
}
}
}
При отправке запроса на /student/addStudent
Nest JS создайте экземпляр studentdto
.