• moco-globalsettings


    1.单个json文件

    (1)目录配置

    (2)新建foo.json

    在project文件夹中新建foo.json

    [
        {
            "request" : {
                "uri" : "/foo"
            },
            "response" : {
                "text" : "foo"
            }
        }
    ]

    (3)执行&访问

    windows在命令行cmd中:
    java -jar moco-runner-0.10.2-standalone.jar start -p 12306 -c project/foo.json
    浏览器中访问:
    http://localhost:12306/foo

    2.Golbal-Settings
    We could put all configurations in one single configuration files. But if we want stub many services in a single Moco instance, the configurations file would be huge.
    In this case, we can use settings file to separate our configurations for different into different configugration files.
    意思是,当一个moco实例要对外提供非常多的json文件时候,可以用include将所有json文件统一注册

    (1)准备json文件

    bar.json
    [ { "request" : { "uri" : "/foo" }, "response" : { "text" : "foo" } } ]
    main.json
    [ { "include" : "project/foo.json" }, { "include" : "
    project/bar.json"
    }
    ]
    注意文件的路径,否则会抛找不到文件

    (2)执行&访问

    windows在命令行cmd中:
    java -jar moco-runner-0.10.2-standalone.jar start -p 12306 -g project/main.json
    浏览器中访问:
    http://localhost:12306/foo
    http://localhost:12306/bar

    3.Context

    We can put all responses for one service in a specified context:

    context.json
    [ { "context": "/foo", "include": "project/foo.json" }, { "context": "/bar", "include": "project/bar.json" } ]
    windows在命令行cmd中:
    java -jar moco-runner-0.10.2-standalone.jar start -p 12306 -g project/context.json
    浏览器中访问:
    http://localhost:12306/foo/foo
    http://localhost:12306/bar/bar

     4.File Root

    我们的目录结构是json文件都放在project下,每次写文件都要带着路径很麻烦,eg

    {
            "include" : "project/bar.json" 
    } 

    而FileRoot功能可以让我们不用再加project了,全局享受相对路径。那么怎么做呢?

    root.json
    [ { "file_root": "project", #你的相对路径文件夹 "include": "too.json" #这边开始就不需要加文件夹了 } ]
    too.json
    [ { "request" : { "uri" : "/fileroot" }, "response" : { "file" : "foo.json" } } ]
    windows在命令行cmd中:
    java -jar moco-runner-0.10.2-standalone.jar start -p 12306 -g project/root.json
    浏览器中访问:
    http://localhost:12306/fileroot

    
    

     5.Environment

    For some different cases, you have different configuration. For example, your code may access proxy for remote server and mock server for local testing.

    意思大概是,提供给远程使用的json和提供给本地使用的json可以区别对待

    env.json
    [
        {
            "env" : "remote",
           "file_root": "project",
            "include": "foo.json"
        },
        {
            "env" : "local",
           "file_root": "project",
            "include": "bar.json"
        }
    ]
    windows在命令行cmd中:
    java -jar moco-runner-0.10.2-standalone.jar start -p 12306 -g project/env.json -e remote
    浏览器中访问:
    http://localhost:12306/foo 能够返回数据
    http://localhost:12306/bar    不能够返回数据
    若换成”-e local“ ,就会相反


    6.Request

    You may need a global request matcher in some cases, for example, token for some REST APIs, which actually is request parameter. Global request will help you.

    大概的意思就是,请求头中存在某特殊的东东,请求才会被接受。

    修改evn.json

    [
        {
            "request" : {
            "uri" : "/foo",
            "headers" : {
              "foo" : "bar"
            }
            },
            "response" : {
            "text" : "foo",
            "headers" : {
              "foo" : "response"
            }
            }
        }
    ]
    windows在命令行cmd中:
    java -jar moco-runner-0.10.2-standalone.jar start -p 12306 -g project/env.json -e remote
    浏览器中访问:
    http://localhost:12306/foo 不能够返回数据

      因为浏览器Get请求,header中没有带 foo:bar 这个东西,所以请求被丢弃。

      那么如何构造header中带”foo:bar“,让请求顺利获取到response呢?我们用fiddler进行操作。

    (1)下载fiddler,安装

    (2)fiddler中,命令行输入 bpu  127.0.0.1 进行断点设置

           

    (3)浏览器请求 http://127.0.0.1:12306/foo

        再fiddler中点击抓到的请求,右侧如图

           

    (4)右键cache - add header ,输入 name:foo  value:bar

           点击break on response,再点击Run to Completion 获取结果

           

    (5)看浏览器获取结果集

            ps,fiddler中再次输入bpu 回车,能够取消断点


     7.Response

           再6的基础上,查看response会看到 我们设置的结果集即”  "foo" : "response" 

           

     

  • 相关阅读:
    12/18随笔周记
    12/11博客
    12/5周期
    页面管理———页边距
    页面管理
    开发周记
    Echarts图表在VUE项目中使用动态数据源
    VUE.js项目中控制台报错: Uncaught (in promise) NavigationDuplicated解决方法
    Maven工程中web项目提示The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path错误
    Java运算符(i++与++i)
  • 原文地址:https://www.cnblogs.com/lyt19871224/p/5113916.html
Copyright © 2020-2023  润新知