让nodejs开启服务更简单--koa篇
const Koa = require('koa')
const app = new Koa()
app.use((ctx, next)=>{
if(ctx.request.method === 'GET'){
ctx.response.body = 'hello world'
}
})
app.listen(8000, ()=>{ console.log('8000端口启动') })

const Koa = require('koa')
const app = new Koa()
const Router = require('koa-router')
const userRouter = new Router({ prefix: '/user' })
app.use((ctx, next) => {
next()
})
userRouter.post('/', (ctx, next)=>{
ctx.response.body = 'post请求'
})
app.use(userRouter.routes())
app.listen(8000, () => { console.log('8000端口启动') })

const Koa = require('koa')
const app = new Koa()
const Router = require('koa-router')
const userRouter = new Router({ prefix: '/user' })
app.use((ctx, next) => {
next()
})
userRouter.get('/:id', (ctx, next)=>{
ctx.response.body = {
query: ctx.request.query,
params: ctx.request.params
}
})
app.use(userRouter.routes())
app.listen(8000, () => { console.log('8000端口启动') })

const Koa = require('koa')
const app = new Koa()
const bodyParser = require('koa-bodyparser')
const Router = require('koa-router')
const userRouter = new Router({ prefix: '/user'})
app.use(bodyParser())
userRouter.post('/', (ctx, next)=>{
ctx.response.body = ctx.request.body
})
app.use(userRouter.routes())
app.listen(8000, ()=>{console.log('开启8000端口')})

const Koa = require('koa')
const app = new Koa()
const Router = require('koa-router')
const userRouter = new Router({ prefix: '/user'})
const multer = require('koa-multer')
const upload = multer()
userRouter.post('/', upload.single("file"), (ctx, next)=>{
ctx.response.body = {
body: ctx.req.body,
file: ctx.req.file
}
})
app.use(userRouter.routes())
app.listen(8000, ()=>{console.log('开启8000端口')})

const Koa = require('koa')
const app = new Koa()
app.use((ctx, next)=>{
ctx.app.emit('error', new Error('请先登录'), ctx)
})
app.on('error', (err, ctx)=>{
ctx.body = err.message;
})
app.listen(8000, ()=> {})

让nodejs开启服务更简单--koa篇的更多相关文章
- hydra nodejs 微服务框架简单试用
hydra 是一个以来redis 的nodejs 微服务框架 安装 需要redis,使用docker 进行运行 redis docker run -d -p 6379:6379 redis 安装yo ...
- [翻译]Kafka Streams简介: 让流处理变得更简单
Introducing Kafka Streams: Stream Processing Made Simple 这是Jay Kreps在三月写的一篇文章,用来介绍Kafka Streams.当时Ka ...
- Kafka Streams简介: 让流处理变得更简单
Introducing Kafka Streams: Stream Processing Made Simple 这是Jay Kreps在三月写的一篇文章,用来介绍Kafka Streams.当时Ka ...
- spring 第一篇(1-1):让java开发变得更简单(下)
切面(aspects)应用 DI能够让你的软件组件间保持松耦合,而面向切面编程(AOP)能够让你捕获到在整个应用中可重用的组件功能.在软件系统中,AOP通常被定义为提升关注点分离的一个技术.系统由很多 ...
- spring 第一篇(1-1):让java开发变得更简单(下)转
spring 第一篇(1-1):让java开发变得更简单(下) 这个波主虽然只发了几篇,但是写的很好 上面一篇文章写的很好,其中提及到了Spring的jdbcTemplate,templet方式我之前 ...
- 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。
微服务平台(Micro Service Platform : MSP)旨在提供一个集开发.测试.运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效. MSP采用业界 ...
- Anno 让微服务、混合编程更简单(Net love Java)
在社区或者QQ群我们经常看到有人争辩编程语言的好坏,只要一提起这个话题常常就能引来很多人参与,往往最后就变成了一群人几个小时的骂战.今天我们要说的是如何让Java和.Net(甚至更多语言)相结合.充分 ...
- 让服务调用更简单 - Caller.HttpClient
前言 绝大多数项目都离不开服务调用,服务的调用方式通常是基于Http.RPC协议的调用,需要获取到对应服务的域名或者ip地址以及详细的控制器方法后才能进行调用,如果项目需要支持分布式部署,则需要借助服 ...
- 分布式系统的消息&服务模式简单总结
分布式系统的消息&服务模式简单总结 在一个分布式系统中,有各种消息的处理,有各种服务模式,有同步异步,有高并发问题甚至应对高并发问题的Actor编程模型,本文尝试对这些问题做一个简单思考和总结 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
随机推荐
- 【已解决】使用代理后,登陆微软账号提示0x800190001
今天晚上想要登录Onedrive同步文件时,发现怎么都登陆不上去,报出的错误代码是0x80190001,在网上搜索了各种方法,重置网络,重置Onedrive都没什么用,甚至把Onedrive重装了一遍 ...
- python列表函数的基本使用
一.列表简介 序列是Python最常见的操作,是最经常使用的一种数据操作.列表是当前序列中使用最多的. 序列中的每一个值对应的位置,称之为索引.通常情景下,第一个索引是位置为0,第二个索引位置为1.. ...
- 2023-04-17:设计一个包含一些单词的特殊词典,并能够通过前缀和后缀来检索单词。 实现 WordFilter 类: WordFilter(string[] words) 使用词典中的单词 wor
2023-04-17:设计一个包含一些单词的特殊词典,并能够通过前缀和后缀来检索单词. 实现 WordFilter 类: WordFilter(string[] words) 使用词典中的单词 wor ...
- 2022-03-13:golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行?
2022-03-13:golang项目代码push到gogs上,如何自动编译.打镜像.k8s上运行? 答案2022-03-13: 2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建da ...
- Prompt learning 教学[技巧篇]:通过增加示例、引导词、特殊符号指令等方式让chatgpt输出更好的答案
Prompt learning 教学[技巧篇]:通过增加示例.引导词.特殊符号指令等方式让chatgpt输出更好的答案 技巧1:To Do and Not To Do 在问答场景里,为了让 AI 回答 ...
- 【Linux】详解Centos7的下载安装配置
本文时间 2023-05-17 作者:sugerqube漆瓷 为什么是Centos7 centos8已经停止维护,centos7将在2024-06-30停止维护(所以暂时选7) 未来替代品参考: Al ...
- 一篇文章告诉你什么是Java内存模型
在上篇 并发编程Bug起源:可见性.有序性和原子性问题,介绍了操作系统为了提示运行速度,做了各种优化,同时也带来数据的并发问题, 定义 在单线程系统中,代码按照顺序从上往下顺序执行,执行不会出现问题. ...
- 向量数据库Pinecone,治疗ChatGPT幻觉的药方?
大白话了解新鲜事,今天讲讲以Pinecone为代表的向量数据库.向量数据库Pinecone一夜爆火,4月27日B轮拿到了1亿美元的融资,估值达到7.5亿美元,一个2021年刚刚推出的数据库产品,火爆背 ...
- go for range的坑
package main import "fmt" func main() { ParseStudent() } type student struct { Name string ...
- 代码随想录算法训练营Day28 回溯算法 | 491.递增子序列 46.全排列 47.全排列 II
代码随想录算法训练营 491.递增子序列 题目链接:491.递增子序列 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2. 示例: 输入: [4, 6, 7, 7] ...