Mock工具moco-runner入门

Moco是一个简单搭建模拟服务器的框架(工具),可以模拟http、https、socket等协议。基于Java开源。

一、官方下载地址及文档

GitHub地址

所需环境:安装JDK,并配置环境变量

二、启动服务命令

java -jar moco-runner-1.1.0-standalone.jar http -p 9090 -c xxx.json
  • java -jar:启动jar文件的命令
  • -p:http服务监听的端口
  • -c:模拟的接口文件

三、模拟get请求

创建json文件,设置接口参数

[
	{
		"description": "首页(不带参数)",
		"request": {
			"uri": "/index",
			"method": "get"
		},
		"response": {
			"text": "hello world"
		}
	}
]

启动服务后,在浏览器中访问
get 返回text
请求可以带参数,返回参数可以是json格式。
举例:

[
	{
		"description": "首页",
		"request": {
			"uri": "/index",
			"method": "get",
			"queries": {
				"area": "010",
				"kw": "hello"
			}
		},
		"response": {
			"json": {
				"key1": "value1",
				"key2": "value2",
				"data": {
					"addr": "shanghai",
					"tel": "13345456666"
				}
			}
		}
	}
]

启动服务后,在浏览器中访问
get请求
(这个响应参数不知道为什么不能以json格式显示,等知道原因了再来补充)

四、模拟post请求

创建json文件,设置接口参数

[
	{
		"description": "登录",
		"request": {
			"uri": "/login",
			"method": "post",
			"headers": {
				"Content-Type": "application/json"
			},
			"json": {
				"username": "hello",
				"password": "123456"
			}
		},
		"response": {
			"headers": {
				"Content-Type": "application/json;charset=UTF-8"
			},
			"json": {
				"code": "00000",
				"msg": "操作成功",
				"data": {
					"addr": "shanghai",
					"tel": "13345456666"
				}
			}
		}
	}
]

启动服务后,用Postman发送请求
post请求
注意:

  • 发送请求时header中的content-type要和模拟的接口文件中定义的一致
  • 响应参数中有中文时,接口文件中响应header中的content-type要设置编码格式为UTF-8,否则postman中看到的响应结果是乱码

参数说明

  • method:定义请求方式
  • uri:定义请求路径
  • json:定义JSON报文体
  • text:定义text报文体
  • queries:定义get请求参数
  • headers:定义报文头
  • forms:定义表单报文体(Content-Type为application/x-www-form-urlencoded)
  • status:定义http响应状态码

参考链接
https://www.jianshu.com/p/3ce4ff925528

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现动态路由和用户权限路由,我们需要进行以下步骤: 1. 安装依赖 ```shell npm install vue-router@4 pinia element-plus mock -S npm install @types/mock -D ``` 2. 创建路由配置文件 在src文件夹下创建router文件夹,并在其中创建index.ts文件,用于配置路由。在该文件中,我们需要定义路由的各个页面组件,并根据需要配置路由的子路由和路由守卫。例如: ```typescript import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' import Home from '@/views/home/indexName.vue' import Login from '@/views/login/index.vue' import NotFound from '@/views/404/index.vue' const routes: Array<RouteRecordRaw> = [ { path: '/', name: 'Home', component: Home, meta: { title: '首页', requireAuth: true // 需要登录才能访问 } }, { path: '/login', name: 'Login', component: Login, meta: { title: '登录' } }, { path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFound, meta: { title: '404' } } ] const router = createRouter({ history: createWebHistory(), routes }) // 路由守卫 router.beforeEach((to, from, next) => { const token = localStorage.getItem('token') if (to.meta.requireAuth && !token) { next('/login') } else { next() } }) export default router ``` 3. 在main.ts中挂载路由 在main.ts中,我们需要将路由配置文件挂载到Vue实例中,以便在应用中使用路由。例如: ```typescript import { createApp } from 'vue' import App from './App.vue' import router from './router' createApp(App).use(router).mount('#app') ``` 4. 创建权限控制文件 在src文件夹下创建permission文件夹,并在其中创建index.ts文件,用于控制用户权限。在该文件中,我们需要定义用户的权限列表,并根据需要判断用户是否有权限访问某个路由。例如: ```typescript import router from '@/router' const whiteList = ['/login'] // 不需要登录即可访问的页面 router.beforeEach((to, from, next) => { const token = localStorage.getItem('token') if (token) { if (to.path === '/login') { next('/') } else { // 判断用户是否有权限访问该路由 const hasPermission = true // 根据实际情况判断用户是否有权限 if (hasPermission) { next() } else { next('/404') } } } else { if (whiteList.indexOf(to.path) !== -1) { next() } else { next('/login') } } }) ``` 5. 在App.vue中挂载路由渲染入口 在App.vue中,我们需要将路由渲染入口挂载到模板中,以便在应用中渲染路由。例如: ```html <template> <div id="app"> <router-view /> </div> </template> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值