zoukankan      html  css  js  c++  java
  • Moco服务器jar包实现简易的API搭建

      永远不要停止前进的脚步,就像你不会忘记以前那些窘迫的连一无所有都称不上的裸露的记忆一样。追求永远的打怪升级,武装自己。双手的努力让曾经那些不堪的记忆在时间的长河中渐渐风化隐匿,但请不要忘记它留下的那一丝丝痕迹,时刻提醒自己,生活不止眼前这点不值一提的安逸,你还需要努力,谨记武装自己,在能力上,更在心灵上。
      生活不止眼前的苟且,还有诗和远方。看到过小米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文本,稍后奉上代码)
        终端:
      
            1、cd /Users/sunjianfei/iOS开发/Local Server - Api         //jar包所在文件夹
            2、java -jar moco-0.11.0.jar start -p 8080 -g Configs.json
        终端显示如下信息,服务开启成功:

    二、POST,GET请求示例

     
           1、 request中我新建了两个json文件,分别如下:
                postTest.json:
     [
    //验证成功
        {
     
            "request":{
                  "method" :"post",
                  "uri":"/postMethod",
                  "headers":{
                          "content-type":"application/json"
                              },
                  "json":{
                          "name" :"zhangsan",
                          "password" :"123456"
                          }
            },
     
            "response":{
                  "file":"response/post/postTest_response.json"
                      }
        },
     //验证失败(参数错误或者没有参数)
        {
            "request":{
                    "method" :"post",
                    "uri":"/postMethod"
                    },
            "response":{
                    "text":"default"
                    }
     
        }
     
     
    ]
    View Code
                getTest.json:
    [
    //验证成功
      {
      "request":{
      "method" :"get",
      "uri":"/getTest",
      "queries":{  "param1":"1",  "param2":"2"}
     
      },
     
      "response":{"file":"response/get/getTest_suc_response.json"}
      },
     //验证失败
      {
      "request":{ "method" :"get", "uri":"/getTest"},
     
      "response":{ "file":"response/get/getTest_fail_response.json"}
     
      }
     
    ]
     
    View Code
     
           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请求如下:
     
     

    三、使用注意

       
    1、headers为application/json类型,后面是一个json
    "headers":{
    "content-type":"application/json"
    },
    "json":{
    "name" :"zhangsan",
    "password" :"123456"
    }
     
    2、headers为application/x-www-form-urlencoded类型,后面是一个forms
    "headers":{
    "content-type":"application/x-www-form-urlencoded"
    },
    "forms":{
    "name" :"zhangsan",
    "password" :"123456"
    }
     
    3、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(表单内容)。
     
    4、response 响应
     
    有12个固定属性:
     
    status,attachment,headers,version,factory,file,text,proxy,cookies,json,latency,path_resource。
     
    5、延迟
    "response":{
    "latency":{"duration": 1,"unit": "second"},
    "file":"login/login_fail_response.json"
    }
     
    详细Demo地址:GitHub
    参考文档:
                        干货系列之零基础搭建自测服务器
  • 相关阅读:
    python 之路之函数01
    python之路07文件处理
    python 之路06day
    python之路05
    【漏洞预警】方程式又一波大规模 0day 攻击泄漏,微软这次要血崩
    PHP渗透中的奇淫技巧--检查相等时的漏洞
    中国气象局某分院官网漏洞打包(弱口令+SQL注入+padding oracle)
    【原创】实战padding oracle漏洞
    破解神器Hashcat使用简介
    关于void main()的误区
  • 原文地址:https://www.cnblogs.com/sunjianfei/p/7992925.html
Copyright © 2011-2022 走看看