nest.js-学习记录:2、创建帖子模块和控制器

1、创建子模块
使用nest cli 脚手架命令,其中new/n代表新建项目,generate|g代表生成子模块或者其他,一般用generate|g来生成子模块。
在命令行运行nest g module ‘模块名称’ 创建帖子模块

nest g module posts

在命令行运行nest g controller ‘模块名称’ 创建帖子路由

 nest g controller posts 

创建后的posts模块,会自动关联起来。
在这里插入图片描述
posts.controller.ts文件

import { Controller, Get, Post } from '@nestjs/common';
@Controller('posts')
export class PostsController {
  @Get()
  index() {
    return [
      {id:1111},
      {id:13},
      {id:14},
      {id:1},
      {id:37},
      {id:26},
    ];
  }
	//post请求
  @Post()
  create(){
    return{
      success:true
    }
  }
	//get请求带动态id
  @Get(':id')
  detail(){
    return{
      id:1,
      title:'aaaaa'
    }
  }
}

posts.module.ts文件

import { Module } from '@nestjs/common';
import { PostsController } from './posts.controller';

@Module({
  controllers: [PostsController]
})
export class PostsModule {}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Nest.js 中实现接口的权限控制可以通过自定义 Guard 实现。Guard 是 Nest.js 中用于控制路由访问权限的模块,它可以在请求路由处理之前对请求进行拦截并进行验证。以下是一个简单的示例: 首先,你需要创建一个 AuthGuard 类,用于对请求进行验证: ```typescript import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common'; import { Observable } from 'rxjs'; @Injectable() export class AuthGuard implements CanActivate { canActivate( context: ExecutionContext, ): boolean | Promise<boolean> | Observable<boolean> { // 在这里进行权限验证,如果通过则返回 true,否则返回 false return true; } } ``` 然后,在需要进行权限控制的路由上使用 AuthGuard: ```typescript import { Controller, Get, UseGuards } from '@nestjs/common'; import { AuthGuard } from './auth.guard'; @Controller('users') export class UsersController { @Get() @UseGuards(AuthGuard) findAll(): string { return 'This action returns all users'; } } ``` 在这个示例中,我们在 `findAll` 方法上使用了 `@UseGuards(AuthGuard)` 装饰器,表示需要通过 AuthGuard 进行权限验证。当请求到达 `findAll` 方法时,Nest.js 会先调用 AuthGuard 的 `canActivate` 方法进行权限验证。如果 `canActivate` 返回 true,则请求会继续被处理;否则,请求将被拒绝。 你可以在 `canActivate` 方法中实现任意的权限验证逻辑,例如验证用户是否拥有访问该接口的权限、验证请求中的 token 是否合法等等。如果验证成功,`canActivate` 方法应该返回 true;否则,返回 false。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言只 石皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值