Controller代码
import {
Body,
Controller,
Get,
Logger,
Param,
Post,
Query,
} from '@nestjs/common';
import { UserService } from './user.service';
import { ApiOperation, ApiParam, ApiQuery, ApiTags } from '@nestjs/swagger';
import { ConfigService } from '@nestjs/config';
import {
CreateUserDto,
DeleteUserDto,
UpdateUserDto,
UserQueryParamsDto,
} from './user.dto';
@ApiTags('用户')
@Controller('user')
export class UserController {
constructor(
private userService: UserService,
private configService: ConfigService,
private readonly logger: Logger,
) {}
@ApiOperation({ summary: '添加用户' })
@Post('add')
addUser(@Body() user: CreateUserDto) {
return this.userService.addUser(user);
}
@ApiOperation({ summary: '根据id删除用户' })
@Get('delete')
deleteUser(@Query() userDto: DeleteUserDto): any {
return this.userService.deleteUser(userDto);
}
@ApiOperation({ summary: '修改用户' })
@Post('update')
updateUser(@Body() userdto: UpdateUserDto): any {
return this.userService.updateUser(userdto);
}
@ApiOperation({ summary: '获取用户' })
@Get('query')
getUsers(@Query() userDto: UserQueryParamsDto): any {
return this.userService.findAll(userDto);
}
}
Dto代码
import { ApiProperty } from '@nestjs/swagger';
export class CreateUserDto {
@ApiProperty({ example: 'admin', type: 'string', description: '用户名' })
readonly username: string;
@ApiProperty({ example: '123456', type: 'string', description: '密码' })
readonly password: string;
@ApiProperty({ example: '1', type: 'number', description: '角色id' })
readonly roleid: number;
@ApiProperty({ example: '1', type: 'number', description: '性别' })
readonly sex: number;
}
export class UserQueryParamsDto {
@ApiProperty({ example: '1', type: 'number', required: false })
readonly id: number;
@ApiProperty({ example: '1', type: 'number' })
readonly page: number = 1;
@ApiProperty({ example: '10', type: 'number' })
readonly limit: number = 10;
@ApiProperty({
example: 'admin',
type: 'string',
description: '用户名',
required: false,
})
readonly username: string;
@ApiProperty({
example: '123456',
type: 'string',
description: '密码',
required: false,
})
readonly password: string;
@ApiProperty({
example: '1',
type: 'number',
description: '角色id',
required: false,
})
readonly roleid: number;
@ApiProperty({
example: '1',
type: 'number',
description: '性别',
required: false,
})
readonly sex: number;
}
export class DeleteUserDto {
@ApiProperty({ example: '1', type: 'number', required: true })
readonly id: number;
}
export class UpdateUserDto {
@ApiProperty({ example: '1', type: 'number', required: false })
readonly id: number;
@ApiProperty({
example: 'admin',
type: 'string',
description: '用户名',
required: false,
})
readonly username: string;
@ApiProperty({
example: '123456',
type: 'string',
description: '密码',
required: false,
})
readonly password: string;
@ApiProperty({
example: '1',
type: 'number',
description: '角色id',
required: false,
})
readonly roleid: number;
@ApiProperty({
example: '1',
type: 'number',
description: '性别',
required: false,
})
readonly sex: number;
}
Service代码
import { User } from '@/entitys/User';
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { CreateUserDto, DeleteUserDto, UpdateUserDto } from './user.dto';
@Injectable()
export class UserService {
constructor(
@InjectRepository(User) private usersRepository: Repository<User>,
) {}
findAll(params: CreateUserDto): Promise<User[]> {
return this.usersRepository.findBy(params);
}
async addUser(user: CreateUserDto) {
return await this.usersRepository.insert(user);
}
async deleteUser(user: DeleteUserDto) {
return await this.usersRepository.delete(user.id);
}
async updateUser(user: UpdateUserDto) {
return await this.usersRepository.update(user.id, user);
}
}
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接