moco入门到实践,手把手搭建一套全面的moco本地服务

编程入门 行业动态 更新时间:2024-10-17 23:36:14

10分钟拿下Moco框架

前言开始使用快速搭架本地moco服务器moco执行流程图解自定义请求拦截全局异常处理主配置文件示意图结语

前言

前后端分离的项目,然而在开发前期我的工作是根据接口文档搭建一套moco本地服务。原本并没有接触过,通过查阅资料整理出一套完整moco使用思路,也应用到了我的开发中。

读前建议:本文引用其他大佬的文章请仔细阅读。我只讲解如何应用



开始使用

#下载安装
使用moco非常容易,更不需要我们写后台代码,很方便前端工程师。下载和使用,请移步 ⇒ blog.csdn.net/lt326030434/article/details/80339397

# 模拟各种http请求
例如get请求、post请求、带参请求、带cookie请求,并且还可以约定请求header、文件操作等。下面是我发现的最全面的一篇moco的请求约定文章,很详细的介绍了moco约定各种请求的写法,移步到此学习 ⇒ blogs./hanschen-coder/p/6528829.html


# 全局的概念和应用

掌握了moco的使用和模拟各种请求,大家就会领略到基础的写法存在件庞大、代码重复及难以维护等问题,由此我们引出moco全局的概念。



# 使用全局的思想编写moco


## 编写全局settings.json
文件过长就是因为我们把moco模拟的所有请求都写在了一个文件中。所以我们可以根据接口功能的不同,将其按模块划分,最终使用一个全局文件将各个模块引入。
例如我们moco系统的登录功能,那就在全局配置文件中这么写(同一般定义moco相似):

[{"response": {"headers": {"Aess-Control-Allow-Origin": "*","Aess-Control-Allow-Methods": "*","Aess-Control-Max-Age": "3600","Aess-Control-Allow-Headers": "*","Aess-Control-Allow-Credentials": "true","Content-Type": "text/html;charset=utf-8"},"latency": {"duration": 1,"unit": "second"}},"file_root": "api/sys/login","include": "login.json"}
]
参数解释header中的代码跨域latency模拟延迟,duration表持续时长;unit 为单位file_root要引入的文件目录include具体要引入的文件,是file_root文件夹下的文件(可以用*匹配)

这种写法挺易懂的,很像我们把css写成外部文件,容易管理还可以复用。



## 实现全局request(如带token访问的需求)
全局的,request配置让我们能省掉许多相同的参数、url,看文本段即可体会我的意思了。

如果不使用全局这么写,我们原来的接口得这么写: /sys/login/sys/exit
如果不使用全局,原来访问每个接口都得定义:ucodetoken 参数

而在全局文件的 request 定义URL "uri":"/sys"后:
       · 被引用文件中所有的moco再声明URL就没必要全拼;
       · 参数也仅仅只在全局文件定义一次,即可应用到全部的子文件中

到这里,就可以搭建一套思路十分清楚的moco了!




## 使用 json文件完成请求和相应
一次请求返回个百千条数据很常见。所以我们可以把返回数据封装成json文件来引用,也方便我们重复使用。

{"description":"查全部","request":{"uri":"/findAll","forms":{"gender": "1"}},"response":{         "json":{                                "msg" : "查询成功","code" : 0,      // ~~~~~~~~~~模拟一段注释~~~~~~~~~"data" : [ {     //要返回的数据有可能很庞大,成千上万条,"id" : 1,		 //如果写在 response中,文件非常长"title" : "阿三" //维护很不方便,眼花缭乱!!!}, {"id" : 2,"title" : "汪汪汪"}, {"id" : 3,"title" : "热热热"} ]}}}

没有优化前,response中长长的数据非常占屏幕,这只是3条数据,要是100条,那疯了。

优化之后,我们的相应数据 抽离为json文件:

{"description":"查全部","request":{"uri":"/findAll","forms":{"gender": "1"}},"response":{"file":"result_file/findAll.json"}}

提示:在这里填个坑,我这response引用file使用的是相对路径,这因为我们在全局配置里定义了file_root!否则必须使用绝对路径目标该文件

当然request请求参数也可以封装成json文件:



快速搭架本地moco服务器

moco执行流程图解


moco是从上到下的执行顺序:
也就是说,当请求进入,moco会从主配置文件开始从上往下一行行执行,一行行的匹配url,根据这一点我们可以写一个全局请求处理,例如:拦截所有get请求处理所有无匹配的请求


自定义请求拦截

拦截操作一定要放在配置文件开头,这样能够做到get请求第一时间被拦截,并做处理:



全局异常处理

异常处理的原理:就是根据moco从上到下的执行顺序。那么从上开始执行,最终执行到最后一个moco还没有匹配到 Url ,百分之百moco会抛400异常,也就是我们开发中的404,没有找到对应资源。这就意味着我们异常处理的moco一定配置在全局文件的末尾,当没有匹配到URL的时候,做收尾工作,给前台来个少女般温柔提示




主配置文件示意图


OK,moco这个框架理解全局概念,便掌握。

结语

本文引用:
blog.csdn.net/lt326030434/article/details/80339397
blogs./hanschen-coder/p/6528829.html
blog.csdn.net/java_green_hand0909/article/details/78740765
文章希望大家多多指点

更多推荐

手把手,入门,moco

本文发布于:2023-05-28 06:57:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/315142.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:手把手   入门   moco

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!