使用 Service
来封装第三方请求可以提升项目的可读性和可维护性
使用 @Service()
装饰器来定义一个 Service
import { Service } from '@tiger/common'
import axios from 'axios'
@Service()
export class UserService {
async getUserById(id: number) {
const { data } = await axios.get('http://faker_url', { params: { id }})
return data;
}
}
我们可以使用 @Autowried
装饰器来注入 UserService
到控制器当中
import { Controller, Get, Autowried } from '@tiger/common'
import { UserService } from '../service/user-service'
@Controller('users')
export class UserController {
@Autowried
userService: UserService;
@Get('/:id')
async show(id: number) {
const user = await this.userService.getUserById(id)
return {
code: 200,
data: user,
message: 'ok'
}
}
}