我的第一个开源作品Kiwis2 Mock Server,目前公测中,欢迎大家提供宝贵意见。

代码:https://github.com/kiwis2/mockserver

主页:https://kiwis2.github.io/

特点

1. 操作简单

提供简单的文件浏览器(一级目录支持权限管理)来创建API。
    可以直接使用javascript来读取request信息和在线编辑response内容。

2. 支持动态URL,提供console类输出调试信息,可以在线查看访问日志。

可以定义API为动态URL,/xxx/{varible},并且可以直接用js来访问URL中的变量。
    您可以使用console.log()来输出调试信息,在LOG选项卡中可以查看输出信息。


3. 支持缓存/文件/数据库操作。

您可以使用cache,file,db对象来进行缓存,文件,数据库的操作。
    对于缓存的内容,可以在Terminal选项卡中查看和清除。



安装方法

本项目采用SpringBoot + MySql开发,所以运行环境需要您预先安装JDK和MySql数据库。

您可以从下面的地址中下载最新的版本。
https://kiwis2.github.io/download/download.html

运行数据库脚本
在您的数据库中执行db_script.sql脚本即可完成数据库表的初始化信息。

运行程序
首先需要修改配置文件来适应您的本地环境
application.properties
logback-spring.xml

然后将程序打包为jar文件
gradlew.bat build

运行build/libs目录下生成的文件
java -jar kiwis2-mockserver-0.0.1-SNAPSHOT.jar

出现如下提示信息即表示启动成功
Started Kiwis2MockserverApplication in 5.981 seconds

访问http://localhost:8080/
用户名:admin
密码:admin

使用方法(API)

使用方法(用户管理)

数据表说明

表名 说明
API API表
CATEGORY 目录结构表
PERMISSION 权限表
TROLE 角色表
TUSER 用户表
PERMISSION_CATEGORY 权限和目录结构的映射表
ROLE_PERMISSION 角色和权限的映射表
USER_ROLE 用户和角色的映射表

常用命令

#显示可用命令
help #根据API请求路径查询API
search <apiPath> #显示缓存中的所有key
cache * #显示缓存中指定key的value
cache <key> #清除所有的缓存
cache clear * #清除指定key的缓存
cache clear <key> #保存缓存
cache save <key> <value>

常用对象

response // 响应报文对象
request // 请求报文对象
console // 控制台操作对象
cache // 缓存操作对象
db // 数据库操作对象
file // 文件操作对象
thread // 线程操作对象

Need your Star, Thank you!

我的第一个开源项目 Kiwis2 Mockserver的更多相关文章

  1. 我的第一个开源作品Kiwis2 Mock Server

    我的第一个开源作品Kiwis2 Mock Server,目前公测中,欢迎大家提供宝贵意见. 代码:https://github.com/kiwis2/mockserver 主页:https://kiw ...

  2. 我的第一个开源项目-logger4Net

    学会学习,学会分享,学会创造. 这我的第一个开源项目.以前总觉得开源离自己很远,但通过不断学习发现,其实自己已经走在这条路上.思想就在那,只要懂得学习,懂得分享,就会懂享受创造的快乐感与殷实感. 没做 ...

  3. 聊聊第一个开源项目(内网穿透) - CProxy

    文章首发:聊聊第一个开源项目 - CProxy 作者:会玩code 初衷 最近在学C++,想写个项目练练手.对网络比较感兴趣,之前使用过ngrok(GO版本的内网穿透项目),看了部分源码,想把自己的一 ...

  4. [COCOS2DX]第一个开源项目的部署和运行<win32版本>

    1.无法加载项目: 1.1 按照之前的方法创建一个名为FirstDemo的项目,并将下载到的源代码包全部拷贝到FirstDemo中 1.2 点击demo.sln启动项目: 修改属性: 2.无法打开“g ...

  5. lemon OA 我长时间经历的第一个开源项目

    对于原作者来说, 他长时间运营了一个项目,lemon OA .目前,八百多star.在运营这个项目的过程中,我想说,他成了activiti 目前国内比较牛逼的几个人.还有 spring securit ...

  6. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  7. .NET平台开源项目速览(5)深入使用与扩展SharpConfig组件

    上个月在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧  和 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 中都提到了SharpConfig组件,简单轻量级 ...

  8. 滴滴出行开源项目doraemonkit食用指南

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/94 doraemonkit 功能介绍 一两周前在地铁上刷任 ...

  9. 【Java经验分享篇01】小白如何开始学会看开源项目?

    目录 前言 1.理解开源 1.1.什么是开源? 1.2.开源的定义 1.2.1.开源软件优点 1.2.2.经典开源软件案例 1.3.关于开源协议 1.3.1.如何选择开源协议 2.如何查找开源项目 2 ...

随机推荐

  1. Linux下的SSH,你知道多少?

    Openssh介绍 OpenSSH 是 SSH (Secure Shell) 协议的免费开源实现.SSH协议族可以用来进行远程控制, 或在计算机之间传送文件.而实现此功能的传统方式,如telnet(终 ...

  2. 查看JVM中的线程名

    实例说明 在Java虚拟机中(JVM):除了用户创建的线程,还有服务于用户线程的其他线程.它们根据不同的用途被分到不同的组中进行管理.本实例将演示JVM中线程的名字及其所在组的名称. 关键技术 线程组 ...

  3. XML:xml常用注解

    @XmlRootelement 指定根目录. //标注在实体类上 @XmlRootElement(name = "xmlEntity") public class XmlEntit ...

  4. js 简单实现获取短信按钮倒计时60秒

    <!DOCTYPE html><html lang="en"><head> <meta http-equiv="Content- ...

  5. EF Core3.1 CodeFirst动态自动添加表和字段的描述信息

    前言 我又来啦.. 本篇主要记录如何针对CodeFirst做自动添加描述的扩展 为什么要用这个呢.. 因为EF Core3.1 CodeFirst 对于自动添加描述这块 只有少部分的数据库支持.. 然 ...

  6. Docker原理:Cgroup

    目录 Cgroup 主要功能 术语 参考 Cgroup 全称Linux Control Group, 是Linux内核的一个功能,用来限制.控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等 ...

  7. 史上最强Tableau Server 安装教程

    前言 本文介绍的是单节点部署Tableau Server. 安装前 1.Tableau Server 的单节点安装的最低硬件推荐配置: 处理器: 64 位 必须支持 SSE4.2 和 POPCNT 指 ...

  8. 「NOIP2017」宝藏

    「NOIP2017」宝藏 题解 博客阅读效果更佳 又到了一年一度NOIPCSP-S 赛前复习做真题的时间 于是就遇上了这道题 首先观察数据范围 \(1 \le n \le 12\) ,那么极大可能性是 ...

  9. JDK环境配置: javac is not recognized as an internal or external command, operable program or batch file

    相信大家在配置TestNG的时候,首先都会去确认JDK的安装是否正确,两个命令缺一不可. 打开'cmd' --> 1. 输入'java -version', 返回java home当前路径. j ...

  10. python pandas inplace参数

    '''pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 ​ inplace = True:不创建新的对象,直接对原始对象进行修改: ​ inplace ...