永远不要停止前进的脚步,就像你不会忘记以前那些窘迫的连一无所有都称不上的裸露的记忆一样。追求永远的打怪升级,武装自己。双手的努力让曾经那些不堪的记忆在时间的长河中渐渐风化隐匿,但请不要忘记它留下的那一丝丝痕迹,时刻提醒自己,生活不止眼前这点不值一提的安逸,你还需要努力,谨记武装自己,在能力上,更在心灵上。
  生活不止眼前的苟且,还有诗和远方。看到过小米CEO雷军说的一句话,“你写代码有写诗的感觉吗?没有就转行吧。”好吧,为了让自己写代码有写诗的感觉,现在学习学习本地服务器 API的搭建吧。
  其实所谓的API搭建就是,使用Moco服务器的一个jar包,通过简单的json文件实现模拟测试用的API,jar包下载地址 0.11.0  0.10.0
 

 

一、基本配置

    1、下载jar包:新建一个文件夹,将下载好的jar包更名之后拖拽到改文件夹下(jar包名字太长,使用命令行时看着难受);
    2、新建request文件夹,用于存放请求的json文件;新建response文件夹用于存放响应的json文件。
    3、新建Configs.json文件,这个文件用于配置api,里面引用需要配置到服务器的请求文件。
 
    完成之后,我的文件框架如下:(Readme.md用于存放一下使用注意项,可有可无)
 
 
    4、使用:(当然这里还没有具体配置json文本,稍后奉上代码)
    终端:
  

        、cd /Users/sunjianfei/iOS开发/Local\ Server\ -\ Api         //jar包所在文件夹
、java -jar moco-0.11..jar start -p -g Configs.json
    终端显示如下信息,服务开启成功:

二、POST,GET请求示例

 
       1、 request中我新建了两个json文件,分别如下:
            postTest.json:

 [
//验证成功
{ "request":{
"method" :"post",
"uri":"/postMethod",
"headers":{
"content-type":"application/json"
},
"json":{
"name" :"zhangsan",
"password" :""
}
}, "response":{
"file":"response/post/postTest_response.json"
}
},
//验证失败(参数错误或者没有参数)
{
"request":{
"method" :"post",
"uri":"/postMethod"
},
"response":{
"text":"default"
} } ]
            getTest.json:
[
//验证成功
{
"request":{
"method" :"get",
"uri":"/getTest",
"queries":{ "param1":"", "param2":""} }, "response":{"file":"response/get/getTest_suc_response.json"}
},
//验证失败
{
"request":{ "method" :"get", "uri":"/getTest"}, "response":{ "file":"response/get/getTest_fail_response.json"} } ]
 
       2、配置Configs.json
[
     { "include": "request/getTest.json" },
     { "include": "request/postTest.json" },
]
 
       
  3、response文件夹下新建需要返回的错误信息的json文件,json文件名和需要返回的文件名称对应,json如下:(根据需求,可以随意更改的)
[
 {
 "status":"fail",
 "status_code":"001",
 "error_message":"信息错误",
 "data":{}
 }
]
        
        4、按照上面的方法启动服务器,我是在Paw和模拟器真机上测试过,Paw请求如下:
 
 

三、使用注意

   

、headers为application/json类型,后面是一个json
"headers":{
"content-type":"application/json"
},
"json":{
"name" :"zhangsan",
"password" :""
} 、headers为application/x-www-form-urlencoded类型,后面是一个forms
"headers":{
"content-type":"application/x-www-form-urlencoded"
},
"forms":{
"name" :"zhangsan",
"password" :""
} 、request 请求 有14个固定的属性: method,headers,json,factory,uri,text,cookies,xpaths, json_paths,version,file,queries,path_resource,forms。 一定要遵循这些方法。 常用的method(请求方式),headers(heads参数),uri(url地址),file(指定调用的请求文件),queries(请求带参),forms(表单内容)。 、response 响应 有12个固定属性: status,attachment,headers,version,factory,file,text,proxy,cookies,json,latency,path_resource。 、延迟
"response":{
"latency":{"duration": ,"unit": "second"},
"file":"login/login_fail_response.json"
}
 
详细Demo地址:GitHub
参考文档:
                    干货系列之零基础搭建自测服务器

Moco服务器jar包实现简易的API搭建的更多相关文章

  1. 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池

     DBCP数据源 使用DBCP数据源,需要导入两个jar包 Commons-dbcp.jar:连接池的实现 Common-pool.jar:连接池实现的依赖库. 导入mysql的jar包. DBC ...

  2. spring的jar包以及相关的API文档的下载方式

    转自:http://blog.csdn.net/yuexianchang/article/details/53583327 侵删 感谢原创 首先是进入官网:https://spring.io/ 如图所 ...

  3. maven 执行本地、服务器 jar包安装

    开发时遇到过第三方jar包依赖不了时的尴尬 因为遇到过几次所以记录一下,POM文件引入的个推jar包无效,就必须本地安装了,服务器上的也是一样,执行相同的maven命令就行,注意修改路径!和将jar包 ...

  4. Idea导出jar包和使用自定义API

    自定义jar简单实现案例 学习内容 1. 自定义工具类 2. 导出jar 3. 加载Jar包 4. 调用自定义的API方法 总结 学习内容 1. 自定义工具类 新建一个java项目,然后创建包和工具类 ...

  5. Gradle连接Maven仓库直接从仓库 更新JAR包

    一般情况下服务器编写好服务程序  会用Maven打成JAR包,放在Maven仓库里管理,我们在用的时候直接引用就可以, 那么如何在Gradle项目中使用本地的  或者远程的Maven仓库呢    当M ...

  6. Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. <!-- https://mvnrepository.com/artifact/org.apache.commons/com ...

  7. mybatis 配置--->确认jar包是否正确

    mybatis 配置之前,首先要确保服务器jar包是否成功 配置jar包如下添加mybaties-3.5.2. jar, maven 的 pom.xml 配置如下,查看配置是否成功见 如上分类 Mav ...

  8. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  9. maven依赖jar包更新,业务jar需同步更新(业务jar依赖API)

    背景: 环境出现问题,定位为依赖jar缺失,修改工程pom文件补充依赖jar. 更新要点说明: 依赖jar,更新提交 业务jar,也需更新提交:maven构建会把依赖jar引用进去,更新环境如果单独更 ...

随机推荐

  1. hdu 1290_献给杭电五十周年校庆的礼物

    Description 或许你曾经牢骚满腹或许你依然心怀忧伤或许你近在咫尺或许你我天各一方 对于每一个学子母校 永远航行在生命的海洋 今年是我们杭电建校五十周年,这是一个值得祝福的日子.我们该送给母校 ...

  2. 利用UML语言建模--以图书馆管理系统为例

    一.基本信息 标题:利用UML语言建模--以图书馆管理系统为例 时间:2016 出版源:内蒙古科技与经济 领域分类:UML:RFID:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...

  3. FZU.Software Engineering1816 ·The Second Assignment of the Team

    1.Team Leader Link:        柯奇豪:点我 2.NABCD Model: Need(需求)——客户需求是什么? *. 希望能够有一款集成日常办公所需功能的软件(如:想法搜集.投 ...

  4. docker安装redis 指定配置文件且设置了密码

    ---------首先,所有docker的命令,都可以用 docker help 来查询,这个挺好的,我反正记不住辣么多命令呀.   1.直接pull 官方镜像吧.没啥说的,这样方便省事.如果你非要用 ...

  5. Ubuntu 安装 chrome浏览器

    按下 Ctrl + Alt + t 键盘组合键,启动终端. 输入以下命令: sudo wget http://www.linuxidc.com/files/repo/google-chrome.lis ...

  6. mysql windows 5.7 安装版下载地址

    https://dev.mysql.com/downloads/windows/installer/5.7.html

  7. 使用netstat命令查看端口的使用情况

    Windows如何查看端口占用情况操作步骤如下: 开始--运行--cmd 进入命令提示符,输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管 ...

  8. 另一个画风的GSS1 - Can you answer these queries I(猫树)

    前言 其实我觉得你看猫锟的解释也看不懂(主要是还有一些不良心的讲解者不讲清楚,当然这里不是针对了qwq) 猫锟链接 Solution 考虑我们的线段树是个啥玩意? 每一层都是一堆区间叠在一起. 我们在 ...

  9. 电子技术经典资料汇总:PCB设计篇

    电子技术经典资料汇总:PCB设计篇,下面的链接是一个一个的文件下载的,也是压缩包的内容,只不过我把他们给汇总成了一个压缩包,方便大家下载,还有更多电子技术必备基础资料,通信无线类的,C语言篇的,关于电 ...

  10. Java学习笔记43(打印流、IO流工具类简单介绍)

    打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(Outpu ...