中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

手機(jī)端怎么網(wǎng)站建設(shè)seo標(biāo)簽優(yōu)化

手機(jī)端怎么網(wǎng)站建設(shè),seo標(biāo)簽優(yōu)化,海外運(yùn)營(yíng)是做什么的,wordpress 讀取數(shù)據(jù)庫(kù)nest.js學(xué)習(xí)筆記(一)一、安裝nest.js前置條件運(yùn)行項(xiàng)目目錄介紹二、nest.js cli 常用命令三、RESTful 風(fēng)格設(shè)計(jì)1.接口url2.RESTful 版本控制四、獲取前端傳過(guò)來(lái)的參數(shù)1.獲取Get請(qǐng)求參數(shù)2.獲取Post請(qǐng)求參數(shù)3.動(dòng)態(tài)路由4.獲取Header信息5.自定義狀態(tài)碼nest.j…

nest.js學(xué)習(xí)筆記(一)

    • 一、安裝nest.js
      • 前置條件
      • 運(yùn)行項(xiàng)目
      • 目錄介紹
    • 二、nest.js cli 常用命令
    • 三、RESTful 風(fēng)格設(shè)計(jì)
      • 1.接口url
      • 2.RESTful 版本控制
    • 四、獲取前端傳過(guò)來(lái)的參數(shù)
      • 1.獲取Get請(qǐng)求參數(shù)
      • 2.獲取Post請(qǐng)求參數(shù)
      • 3.動(dòng)態(tài)路由
      • 4.獲取Header信息
      • 5.自定義狀態(tài)碼

nest.js 英文官網(wǎng) NestJS - A progressive Node.js framework

nest.js 中文網(wǎng) NestJS 簡(jiǎn)介 | NestJS 中文文檔 | NestJS 中文網(wǎng)

nest.js 中文網(wǎng)2 Nest.js 中文文檔

一、安裝nest.js

前置條件

請(qǐng)確保您的操作系統(tǒng)上安裝了 Node.js(>= 12, v13 版本除外)

安裝完成node之后可以運(yùn)行下面的npm安裝命令來(lái)全局安裝Nest CLI

// 全局安裝nestjs腳手架
npm i -g @nestjs/cli// 創(chuàng)建新項(xiàng)目
nest new project-name

運(yùn)行項(xiàng)目

下邊幾個(gè)為運(yùn)行/打包命令,如果需要熱更新 啟動(dòng)npm run start:dev 如不需要,運(yùn)行npm run start即可

	"start": "nest start","start:dev": "nest start --watch","start:debug": "nest start --debug --watch","start:prod": "node dist/main",

ps:如果感覺(jué)start:dev有些長(zhǎng),也可以直接改為dev,后面運(yùn)行npm run dev就可以了

目錄介紹

核心文件簡(jiǎn)要概述

app.controller.ts帶有單個(gè)路由的基本控制器示例。
app.controller.spec.ts對(duì)于基本控制器的單元測(cè)試樣例
app.module.ts應(yīng)用程序的根模塊。
app.service.ts帶有單個(gè)方法的基本服務(wù)
main.ts應(yīng)用程序入口文件。它使用 NestFactory 用來(lái)創(chuàng)建 Nest 應(yīng)用實(shí)例。

核心文件介紹

  1. main.ts 入口文件主文件 類似于vue 的main.ts

通過(guò) NestFactory.create(AppModule) 創(chuàng)建一個(gè)app 就是類似于綁定一個(gè)根組件App.vue

app.listen(3000); 監(jiān)聽(tīng)一個(gè)端口

  1. Controller.ts 控制器

可以理解成vue 的路由 private readonly appService: AppService 這一行代碼就是依賴注入不需要實(shí)例化 appService 它內(nèi)部會(huì)自己實(shí)例化的我們主需要放上去就可以了

  1. app.service.ts

這個(gè)文件主要實(shí)現(xiàn)業(yè)務(wù)邏輯的 當(dāng)然Controller可以實(shí)現(xiàn)邏輯,但是就是單一的無(wú)法復(fù)用,放到app.service有別的模塊也需要就可以實(shí)現(xiàn)復(fù)用

二、nest.js cli 常用命令

查看所有命令:

nest --help // 可以查看nestjs所有的命令

在這里插入圖片描述

以上命令可以根據(jù)需要,自動(dòng)生成對(duì)應(yīng)的文件,如感覺(jué)一個(gè)個(gè)生成的太慢,可以直接使用一個(gè)命令生成整套CURD

nest g resource study // resource可以全寫,也可以使用res簡(jiǎn)寫

在這里插入圖片描述

此處一般選用第一項(xiàng)就可以,如果是第一次使用這個(gè)命令,除了生成文件之外還會(huì)自動(dòng)使用 npm 幫我們更新資源,安裝一些額外的插件,后續(xù)再次使用就不會(huì)更新了。

在這里插入圖片描述

如圖所示,一套標(biāo)準(zhǔn)的CURD模板就生成好了此處我更改了端口號(hào),默認(rèn)端口號(hào)為3000

在這里插入圖片描述

三、RESTful 風(fēng)格設(shè)計(jì)

RESTFUL 是一種網(wǎng)絡(luò)應(yīng)用程序的設(shè)計(jì)風(fēng)格和開發(fā)方式,基于HTTP,可以使用XML格式定義或JSON格式定義。RESTFUL適用于移動(dòng)互聯(lián)網(wǎng)廠商作為業(yè)務(wù)接口的場(chǎng)景,實(shí)現(xiàn)第三方OTT調(diào)用移動(dòng)網(wǎng)絡(luò)資源的功能,動(dòng)作類型為新增、變更、刪除所調(diào)用資源。

1.接口url

  • 傳統(tǒng)接口

    • 利用?來(lái)拼接到URL地址進(jìn)行數(shù)據(jù)參數(shù)傳輸,且不支持Post方式,Post方式需要在請(qǐng)求體中攜帶參數(shù)
    http://localhost:8080/api/get_list?id=1
    http://localhost:8080/api/delete_list?id=1
    http://localhost:8080/api/update_list?id=1
    
  • RESTful 接口

    • 利用/來(lái)拼接到URL地址進(jìn)行數(shù)據(jù)傳輸,一個(gè)接口就會(huì)完成 增刪改差 他是通過(guò)不同的請(qǐng)求方式來(lái)區(qū)分的
    // 查詢GET 提交POST 更新 PUT PATCH 刪除 DELETE
    http://localhost:8080/api/get_list/1 
    

2.RESTful 版本控制

版本備注
URI Versioning版本將在請(qǐng)求的 URI 中傳遞(默認(rèn))
Header Versioning自定義請(qǐng)求標(biāo)頭將指定版本
Media Type Versioning請(qǐng)求的Accept標(biāo)頭將指定版本
  1. 在main.ts文件中開啟版本控制

在這里插入圖片描述

  1. 在study.controller 配置版本(共兩種方式,如果在Controller 內(nèi)配置,則頁(yè)面內(nèi)所有的請(qǐng)求路徑都必須加上版本,如果單獨(dú)配置則僅需要在單獨(dú)配置的路徑加上版本即可)

在這里插入圖片描述

在這里插入圖片描述

四、獲取前端傳過(guò)來(lái)的參數(shù)

nest.js提供了許多的方法參數(shù)裝飾器 用來(lái)幫助我們快速獲取參數(shù) 常用的裝飾器如下

方法參數(shù)
@Request()/@Req()req
@Response()/@Res()res
@Next()next
@Session()req.session
@Param(key?: string)req.params/req.params[key]
@Body(key?: string)req.body/req.body[key]
@Query(key?: string)req.query/req.query[key]
@Headers(name?: string)req.headers/req.headers[name]
@HttpCode()

1.獲取Get請(qǐng)求參數(shù)

  • 使用@Request()裝飾器來(lái)獲取到前端傳過(guò)來(lái)的參數(shù),同理,使用@Req()也是一樣的效果,這里我就不演示了,下圖中打印的req為整個(gè)Request的內(nèi)容,通過(guò)req.query獲取到對(duì)應(yīng)的參數(shù)ps:裝飾器后邊跟的參數(shù)(req)可以隨便寫

在這里插入圖片描述

  • 因?yàn)楂@取到的參數(shù)在Request中的query中存放,也可以直接使用 @Query()來(lái)獲取,此時(shí)效果是一樣的,就不需要再通過(guò)req.query獲取參數(shù)了

在這里插入圖片描述

import { Controller, Get, Request,Query } from '@nestjs/common';
import { StudyService } from './study.service';// @Controller({
//   path: 'study',
//   version: '1',
// })
@Controller('study')
export class StudyController {constructor(private readonly studyService: StudyService) {}// @Get()// getParams(@Request() req) {//   console.log(req);//   return {//     data: req.query,//     status: 200,//   };// }@Get()getParams(@Query() query) {console.log(query);return {data: query,status: 200,};}
}

2.獲取Post請(qǐng)求參數(shù)

  • Post請(qǐng)求與上邊Get請(qǐng)求類似,不同的是傳的值存放在body中,而不是query中,需要利用res.body草可以獲取到值

在這里插入圖片描述

  • 和@Query()修飾器一樣,可以利用@Body()修飾器來(lái)直接獲取到參數(shù),結(jié)果也是一樣的,除此之外,@Body()修飾器也支持直接讀取key

在這里插入圖片描述

import { Body, Controller, Post } from '@nestjs/common';
import { StudyService } from './study.service';// @Controller({
//   path: 'study',
//   version: '1',
// })
@Controller('study')
export class StudyController {constructor(private readonly studyService: StudyService) {}// @Post()// getPost(@Request() req) {//   console.log(req.body);//   return {//     data: req.body,//     status: 200,//   };// }@Post()getPost(@Body('name') body) {console.log(body);return {data: body,status: 200,};}
}

3.動(dòng)態(tài)路由

  • 此處和上面@Request() 用法一樣,就不贅述了,直接上結(jié)果

在這里插入圖片描述

import { Controller, Get, Param } from '@nestjs/common';
import { StudyService } from './study.service';// @Controller({
//   path: 'study',
//   version: '1',
// })
@Controller('study')
export class StudyController {constructor(private readonly studyService: StudyService) {}@Get(':id')getParams(@Param() params) {console.log(params);return {data: params,status: 200,};}
}

4.獲取Header信息

此處我拿動(dòng)態(tài)路由來(lái)舉例子,無(wú)論get請(qǐng)求還是post,都可以獲取到Header信息

在這里插入圖片描述

import { Controller, Get, Headers } from '@nestjs/common';
import { StudyService } from './study.service';// @Controller({
//   path: 'study',
//   version: '1',
// })
@Controller('study')
export class StudyController {constructor(private readonly studyService: StudyService) {}@Get(':id')getParams(@Headers() headers) {console.log(headers);return {data: headers,status: 200,};}
}

5.自定義狀態(tài)碼

  • 在@HttpCode()中直接寫數(shù)字就可以,但也不能寫的特別離譜的數(shù)字(建議按照標(biāo)準(zhǔn)狀態(tài)碼來(lái)寫),否則看不到返回的參數(shù)

在這里插入圖片描述

常見(jiàn)Code碼規(guī)范

狀態(tài)碼代表的意思
200OK 連接成功
304Not Modified 協(xié)商緩存了
400Bad Request 參數(shù)錯(cuò)誤
401Unauthorized token錯(cuò)誤
403Forbidden referer origin 驗(yàn)證失敗
404Not Found 接口不存在
500Internal Server Error 服務(wù)端錯(cuò)誤
502Bad Gateway 上游接口有問(wèn)題或者服務(wù)器問(wèn)題
http://m.risenshineclean.com/news/60016.html

相關(guān)文章:

  • 自己有網(wǎng)站怎么做點(diǎn)卡網(wǎng)絡(luò)推廣的方法有
  • 做網(wǎng)站掙錢么網(wǎng)站推廣是做什么的
  • 網(wǎng)站里的搜索怎么做免費(fèi)制作自己的網(wǎng)站
  • 西安本地十家做網(wǎng)站建設(shè)的公司seo網(wǎng)站排名的軟件
  • 醫(yī)學(xué)院英文網(wǎng)站建設(shè)方案廣州網(wǎng)絡(luò)推廣哪家好
  • 上海網(wǎng)站開發(fā)哪里有外鏈發(fā)布網(wǎng)站
  • 如何在vs做網(wǎng)站免費(fèi)線上培訓(xùn)平臺(tái)
  • 關(guān)于政府網(wǎng)站建設(shè)的幾點(diǎn)建議免費(fèi)個(gè)人網(wǎng)頁(yè)制作
  • 蕭山城區(qū)建設(shè)有限公司網(wǎng)站公司官網(wǎng)制作多少錢
  • 做網(wǎng)站有沒(méi)有受騙過(guò)免費(fèi)刷贊網(wǎng)站推廣免費(fèi)
  • 網(wǎng)站建設(shè)費(fèi)怎么做分錄seo案例視頻教程
  • 昆明網(wǎng)站建設(shè)服務(wù)html網(wǎng)頁(yè)制作app
  • 網(wǎng)頁(yè)制作網(wǎng)站平臺(tái)深圳網(wǎng)絡(luò)推廣網(wǎng)絡(luò)
  • 中國(guó)數(shù)學(xué)外國(guó)人做視頻網(wǎng)站網(wǎng)絡(luò)軟件開發(fā)
  • 買完域名后如何建設(shè)網(wǎng)站seo基礎(chǔ)課程
  • 維度 網(wǎng)站建設(shè)什么是軟文寫作
  • wordpress默認(rèn)logo圖片路徑佛山seo關(guān)鍵詞排名
  • 中國(guó)建設(shè)銀行吉林省分行官網(wǎng)站電子商務(wù)
  • 網(wǎng)頁(yè)設(shè)計(jì)技術(shù)論文青島seo關(guān)鍵字排名
  • php網(wǎng)站開發(fā)實(shí)踐太原百度公司地址
  • 品牌網(wǎng)站建設(shè)哪好商丘關(guān)鍵詞優(yōu)化推廣
  • 天津做網(wǎng)站聯(lián)系方式優(yōu)化關(guān)鍵詞首頁(yè)排行榜
  • html5建站系統(tǒng)線下推廣方式有哪些
  • 網(wǎng)站qq在線客服代碼怎么安裝快速網(wǎng)站seo效果
  • 10大最佳免費(fèi)建站軟件推薦網(wǎng)站競(jìng)價(jià)推廣怎么做
  • 國(guó)外哪個(gè)網(wǎng)站做服裝百度怎么免費(fèi)推廣
  • wordpress適合大型網(wǎng)站嗎類似凡科建站的平臺(tái)
  • 四川成都網(wǎng)站優(yōu)化百度快速排名技術(shù)培訓(xùn)教程
  • 關(guān)于做網(wǎng)站常見(jiàn)的問(wèn)題西安seo優(yōu)化公司
  • 濟(jì)寧網(wǎng)站建設(shè)神華關(guān)鍵詞優(yōu)化包含