永远不要停止前进的脚步,就像你不会忘记以前那些窘迫的连一无所有都称不上的裸露的记忆一样。追求永远的打怪升级,武装自己。双手的努力让曾经那些不堪的记忆在时间的长河中渐渐风化隐匿,但请不要忘记它留下的那一丝丝痕迹,时刻提醒自己,生活不止眼前这点不值一提的安逸,你还需要努力,谨记武装自己,在能力上,更在心灵上。
  生活不止眼前的苟且,还有诗和远方。看到过小米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. 如何通过Git GUI将自己本地的项目上传至Github(转)

    githud是一个程序员以后成长都会使用到的,先不说很多优秀的开源框架都在这上面发布,光是用来管理自己的demo都已经让人感到很方便,用得也很顺畅.而真正让我下定决心使用github的原因是因为两次误 ...

  2. clickhouse安装使用文档

    Clickhouse简介 Clickhouse是什么 1. 开源的列存储数据库管理系统 2. 支持线性扩展 3. 简单方便 4. 高可靠性 5. 容错(支持多主机异步复制,可以跨多个数据中心部署. 单 ...

  3. 高效率php注意事项

    1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...

  4. Android studio 中的TabWidget

    1.TabWidget 的 layout文件 <?xml version="1.0" encoding="utf-8"?> <TabHost ...

  5. 如何将uniurlframe中html调用delphi的函数

    uniGUI总群中台中cmj朋友为我们总结了如下内容,对于利用delphi+uniGUI开发应用,可以说是精品,必须掌握. 一句话,如何在html与delphi间交互代码,是最好的答案. [Clien ...

  6. HTML和CSS使用注意事项

    HTML 1.button标签 在IE中,button标签默认的type是button,而在其他浏览器和W3C标准中button默认的属性都是submit. 所以,在一个form表单中,如果butto ...

  7. Spring boot 配置 log4j2.xml

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  8. 机器学习技法笔记:16 Finale

    Roadmap Feature Exploitation Techniques Error Optimization Techniques Overfitting Elimination Techni ...

  9. an error occurred attempting install_Github_for_windows_无法安装的解决方法_

    都在这了,作者原创.我就截图好了.

  10. ACM学习<3>

    排序算法:      基本:冒泡,快速,选择,堆,插入,shell      多路并归: 1.冒泡排序:      思想:交换排序,通过相邻的交换来达到排序的目的.      流程:         ...