建立 Mock Server 後,前端工程师就失去耍废时间不需要等後端做好才能串接。
前端工程师心里 OS:「其实我是想要空等的。」
在正式 API 完成前,如何让未来要串接的工程师不要空等?
回答问题所需具备的知识
这问题是想了解你现在的工作是如何运行的
,因为许多专案都采取前後端分离的架构,前端常常要等後端完成後才能串接,如果後端提供的服务不稳定,又或是没按造需求规格开发就容易导致前端空等。
我会先依照需求规格整理出一份让双方共同遵守的开发文档
,同时使用第三方验证工具「Postman
」建立 Mock Server
,并根据 Request 的参数给予对应的 Result 结果,让前端不需要等後端 API 完成後才能开始串接的作业。
市面上提供 Mock Server 以及产生 API doc 的工具很多,不过「Postman」是笔者用起来最顺手的;Postman 除了 API 的基础测试外,还有许多加速工作效率的功能,就让我们透过这篇文章让自己的 Postman 更专业吧!
在前後端分离的架构下,前端在完成网页版面布局後,需等待後端完成 API 才能做後续的开发;为了不让前端在这段时间偷懒苦等,Mock Server 应运而生!它能回传自订的资料结构供前端使用
,等後端完成 API 後,前端只需要切换网址就能使用真实资料。
除了上面的原因外,如果你开发环境的後端 Sever 不太稳定常常罢工,Mock Server 也能保证你的工作效率不受影响,毕竟不可能每次都等到 Server 修好後再工作吧?
Postman 改版非常快速,你看到的画面可能跟我有些许不同
STEP 1: 建立 Mock Server
New > Mock Server
Create a new Collection > input url > Next
如果不是选择已经存在的 API Collection,就需要至少填写一个 Request URL
让 Collections 有初始化的 API Request
给 Mock Server 取个名字,并建议你勾选储存 mock server URL 到环境变数
的选项。
STEP 2: 检查 Mock Server 是否建立成功
建立成功後便可以在「Mock Servers」的分页中看到刚刚建立的 Server,点进去後能看到这个 Sever 的网址。
接着我们到「Environments」的分页确认,mock server URL 是否有储存到环境变数,
在 Mock Server 建立後,我们要设计不同 API Request 回传的资料结构。
STEP 1:先用 Request 的 Default example 来了解使用方式
{{url}}
会带入环境变数所以右上角请选择刚刚建立的「Mock_User」,按下「Send」後你会发现下面的 Response 一片空白,这是因为我们还没设定 Mock Server Response。它就是用来自订 Response 资料结构的 example
,这边我们用 JSON 格式写个简单的 Response example 後按「Save」。STEP 2:新增其他的 Response example
除了最初的 Default 外,我们还可以自己新增其他的 Response example
。
可以透过加入 Params 让这个 Request 有不同的 Response
,这里我们新增「error」、「correct」这两个 example 并加入「control_res」这个 Params 来做示范。
在「DESCRIPTION」填写的资讯会显示在 API 文件上,写清楚一点不但方便自己记忆,也更容易让合作者了解。
回到刚刚的 Request ,我们在「control_res」填入不同的 VALUE,按下「Send」就会看到对应的 Response 噜~
这是 Postman 重要的功能之一,它可以加快开发速度,让你不用为每个环境都建立一个 Request
。
如果没设定会发生什麽蠢事?
有没有觉得上面这张图片看起来很蠢,在了解 Environment 怎麽设定前,我的 Collections 就是这麽的复杂;因为开发时通常环境会分成:「Local、Dev、QA、Prod」
,如果每新增一个环境你就复制一份,到最後你会无法进行妥善管理。
STEP 1:新增 Environment
之前在建立 Mock Server 时其实就已经用到了 Environment,这里我再详细的跟大家说这个东西的好处。
请先到「Environments」的分页按下「+」的按钮,接着输入名称来新增环境(我用 local_server 做示范)。
STEP 2:设定常用的 Environment variables
警告:
不建议把正式机的 password 加入环境变数,且测试机的 password 不要用平常自己会用的密码
,不然资安很危险的,都已经可以偷懒用 Environment,密码自己去产生一组吧。
STEP 3:在 Request 使用 Environment variables
想在 Request 中使用 Environment variables 只需要用 {{your_env_var}}
包起来就好,另外右上角记得要切换到正确的 Environment 才会带入相应的资料喔!
相信後端工程师有一个共同经验,无论你的 API 文件写得再清楚、功能执行的再稳定;到了同事手中却常常被说不能 Work,紧张的你检查很多遍也找不出问题,百思不得其解的抵达同事座位後,才发现他原来漏了某个参数
。
如果你有这样的经验,Postman 内建的 API documentation 能拯救你,让你在 Publish 文件後可以跟同事幸福快乐的生活。
STEP 1:View documentation
选择想要产生文档的 Collection,按下「View documentation」後文档就会显示在右侧,你可以透过切换右上角的环境变数来检视文档。
STEP 2:Publish documentation
STEP 4:Share API Doc URL
你可以将 URL 复制起来分享给你的合作夥伴,如果你想把这份文档下架,按「Unpublish」即可。
前面在建立 Mock Server 时,不知道有没有人注意到「Make mock server private
」的选项,在做这个设定前 Mock Server 的 URL 都是公开的,如果你想为自己的 Mock Server 多一层防护可以跟着下面步骤操作:
Mock Server 都需要添加 API key 到 Request 的 Header 才能使用
。请复制这个 API key
,上面已经警告你这是唯一见到它的机会了。{{x-api-key}}
作为值,最後按下「Send」就能看到正确的 Response 回传噜!感谢大家的阅读,如果喜欢我的文章可以订阅
接收通知;如果有帮助到你,按Like
可以让我更有写文的动力,我们明天见~
我在 Medium 平台 也分享了许多技术文章
❝ 主题涵盖「MIS & DEVOPS、资料库、前端、後端、MICROSFT 365、GOOGLE 云端应用、自我修炼」希望可以帮助遇到相同问题、想自我成长的人。❞
我们都知道 verilog 是一种硬体描述语言,所以目的就是要能综合出实际的电路,但实际上在 ve...
三十天很快要到了尾声了,今天要来介绍 The Twelve-Factor App(下称 12 Fac...
嘿~~ 各位好,我是菜市场阿龙! 这集要介绍的是「泡泡排序(Bubble Sort)演算法的实作」 ...
引言 这年头真的是偷拐抢骗比原创还风行,工作後真的是深深有感. 好像只要会那几个鸡鸣狗盗的技能就可以...
今天不写程序,先来看看官方的机器人范例 官方范例 完整程序码:https://core.teleg...