新闻动态
热点资讯
- 少女感穿搭不只是年轻女孩专属,当你能擅用糖
- 燕塘乳业:公司主要从事乳制品和含乳饮料的研发、生产与销售,目前无奶粉业务及计划
- 珠城科技:6月9日融资买入704.71万元,融资融券余额1.37亿元
- 2月26日基金净值:华夏沪深300指数增强A最新净值1.882,涨0.86%
- 云浮首例!新兴县六祖镇荣获全国文明村镇称号
- 零陵民兵亮剑赛场 勇夺全市比武团体亚军_永州_实战_队伍
- 炒股是一种游戏,想赚到钱,看能否经受这四重考验?
- 乖宝宠物(301498)11月14日主力资金净买入374.15万元
- 前海开源高端装备制造混合A:2025年第一季度利润939.79万元 净值增长率6.06%
- 2025年10月3日全国主要批发市场莴笋价格行情
- 发布日期:2025-08-19 13:10 点击次数:73
// product.entity.ts
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class Product {
@PrimaryGeneratedColumn()
id: number;
@Column({ unique: true })
name: string;
@Column('text')
description: string;
@Column('decimal', { precision: 10, scale: 2 })
price: number;
展开剩余89%@Column()
category: string;
@Column({ default: true })
inStock: boolean;
}
// product.dto.ts
import { IsString, IsNumber, IsPositive, IsNotEmpty } from 'class-validator';
export class CreateProductDto GAME.HUoCheNGrM.Cn/2025-08-10-00-23-410bz.html
@IsString()
@IsNotEmpty()
name: string;
@IsString()
description: string;
@IsNumber()
@IsPositive()
price: number;
@IsString()
category: string;
}
export class UpdateProductDto extends CreateProductDto {
@IsNotEmpty()
inStock: boolean;
}
// products.controller.ts
import { Controller, Get, Post, Body, Param, Put, Delete } from '@nestjs/common';
import { ProductsService } from './products.service';
import { Product } from './product.entity';
import { CreateProductDto, UpdateProductDto } from './product.dto';
@Controller('GAME.HUoCheNGrM.Cn/2025-08-10-00-23-45i6v.html
')
export class ProductsController {
constructor(private readonly productsService: ProductsService) {}
@Get()
findAll(): Promise<Product[]> {
return this.productsService.findAll();
}
@Get(':id')
findOne(@Param('id') id: string): Promise<Product> {
return this.productsService.findOne(+id);
}
@Post()
create(@Body() createProductDto: CreateProductDto): Promise<Product> {
return this.productsService.create(createProductDto);
}
@Put(':id')
update(
@Param('id') id: string,
@Body() updateProductDto: UpdateProductDto,
): Promise<GAME.HUoCheNGrM.Cn/2025-08-10-00-23-25sif.html
> {
return this.productsService.update(+id, updateProductDto);
}
@Delete(':id')
remove(@Param('id') id: string): Promise<void> {
return this.productsService.remove(+id);
}
}
// products.service.ts
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Product } from './product.entity';
import { CreateProductDto, UpdateProductDto } from './product.dto';
@Injectable()
export class ProductsService {
constructor GAME.HUoCheNGrM.Cn/2025-08-10-00-23-487as.html
@InjectRepository(Product)
private productsRepository: Repository<Product>,
) {}
findAll(): Promise<Product[]> {
return this.productsRepository.find();
}
findOne(id: number): Promise<Product> {
return this.productsRepository.findOneBy({ id });
}
async create(createProductDto: CreateProductDto): Promise<Product> {
const product = this.productsRepository.create({
...createProductDto,
inStock: true
});
return this.productsRepository.save(product);
}
async update(id: number, updateProductDto: UpdateProductDto): Promise<Product> {
await this.productsRepository.update(id, updateProductDto);
return this.productsRepository.findOneBy({ GAME.HUoCheNGrM.Cn/2025-08-10-00-18-57cru.html
});
}
async remove(id: number): Promise<void> {
await this.productsRepository.delete(id);
}
}
发布于:福建省