RESTFeel: 一个企业级的API管理&测试平台。RESTFeel帮助你设计、开发、测试您的API

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: RESTFeelRESTFeel: 一个企业级的API管理&测试平台。RESTFeel帮助你设计、开发、测试您的API。功能简介:请求生成器-使HTTP请求轻松。

RESTFeel

RESTFeel: 一个企业级的API管理&测试平台。RESTFeel帮助你设计、开发、测试您的API。

功能简介:

  • 请求生成器-使HTTP请求轻松。
  • 请求树以树的形式组织请求。
  • 合作-添加团队成员,管理多个项目。
  • PDF报告-生成项目状态报告PDF格式。
  • 历史-查看历史/活动日志。
  • 自定义的时间间隔运行API项目。
  • SendGrid - SendGrid集成发送通知。
  • 云部署-它可以部署在任何服务器上,也可以用来作为一个基于云的托管Web应用程序。
  • 私人-安装在您的环境和完全拥有它。与你的团队一起在你的私人网络中工作。
  • 数据库-存储在您的数据库中的一切。
  • swagger API文档生成。
  • 标签-标签提供了一个有用的方式来组合相关的要求。
  • 安全,访问控制,通知机制等。
RESTFeel接口测试平台
RESTFeel接口测试平台

MongoDB configuration:

Building From Source

Prerequisites
  • JDK 7 or later

  • Maven 3.0+

  • Gradle 2.4 (Optional)

  • MongoDB 3.x

Build
mvn clean install
Run
mvn spring-boot:run
Access

The build file is configured to download and use an embedded Tomcat server. So the application should be up and running by using just two commands mentioned above. Once the server is started, the application can be accessed using http://localhost:8080.

Default login email / password : rf@example.com / rf
Debug
mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"

Note : To avoid java.lang.OutOfMemoryError: PermGen space, use the following command:

MAVEN_OPTS="-XX:PermSize=256m -XX:MaxPermSize=512m" mvn spring-boot:run 

Go to src/main/resources/env-development.properties and update mongodb properties. Here is how the sample configuration looks like:

mongodb.name=restfiddle

mongodb.host=localhost

mongodb.port=27017

mongodb.username=

mongodb.password=
Steps to re-build the database:
1. Stop RESTFiddle server, if running.
2. Start MongoDB, if not running.
    Here is the command I use : "C:\Program Files\MongoDB\bin\mongod.exe" --dbpath C:\Users\ANUJA\Documents\restfiddle\data
3. Connect to MongoDB.
    Here is one of the ways to connect to MongoDB : 
    Go to "C:\Program Files\MongoDB\bin" folder and run "mongo" command.
    Then run "use restfiddle" command and finally "db.dropDatabase()" command to delete the existing RESTFiddle database.
    Note : you will see following message on the command prompt : { "dropped" : "restfiddle", "ok" : 1 }
4. Start RESTFiddle application (mvn spring-boot:run) - This will create and initialize the database.
Steps to recover database:
Sometimes MongoDB doesn't start and shows message:
        old lock file: C:\Users\ANUJA\Documents\restfiddledata\data\mongod.lock. probably means unclean shutdown
Run repair operation to recover your database
    "C:\Program Files\MongoDB\bin\mongod.exe" --dbpath C:\Users\ANUJA\Documents\restfiddledata\data --repair
Most likely, your data will be repaired with the --repair option. In case it doesn't, delete the mongod.lock file and then run the above --repair command.

MongoDB配置数据库用户名密码

Step1.首先,切换到admin db (schema):

> use admin;
switched to db admin

Step2.在該 schema 下面設置用戶名,密碼:


> db.createUser({ user: "root",pwd: "root",customData:{name:"root"},roles:[{ role: "userAdminAnyDatabase",db: "admin" }]})
Successfully added user: {
    "user" : "root",
    "customData" : {
        "name" : "root"
    },
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}
> db.auth('root','root')
1

Step3.admin中直接给restfiddle权限

var r = 
    {
      "_id": "restfiddle.root",
      "user": "root",
      "db": "restfiddle",
      "credentials": {
        "SCRAM-SHA-1": {
          "iterationCount": 10000,
          "salt": "riZjwBYHvkcV99typ8BRMA==",
          "storedKey": "E2QOruLrBNXD1mlQTX0TQogL/ws=",
          "serverKey": "JEQhfa/5x7+aNzKrFvKRkctXXfQ="
        }
      },
      "roles": [
        {
          "role": "dbOwner",
          "db": "restfiddle"
        },
        {
          "role": "read",
          "db": "restfiddle"
        },
        {
          "role": "readWrite",
          "db": "restfiddle"
        }
      ]
    }


db.system.users.insert(r)


或者

use restfiddle
db.createUser({"user":"jason","pwd":"123456","roles":["dbOwner","read","readWrite"]})

可以看到admin中已经有了jason这个管理员:

> use admin;
> db.system.users.find();

{
  "_id": "restfiddle.jason",
  "user": "jason",
  "db": "restfiddle",
  "credentials": {
    "SCRAM-SHA-1": {
      "iterationCount": 10000,
      "salt": "HZsutqbxGjKVkPcY4305FQ==",
      "storedKey": "bynL9UW9cIf0iPOLo9pGwCFz638=",
      "serverKey": "PRPKH+7dVaKDJ/JE+7ZjQUe3whA="
    }
  },
  "roles": [
    {
      "role": "dbOwner",
      "db": "restfiddle"
    },
    {
      "role": "read",
      "db": "restfiddle"
    },
    {
      "role": "readWrite",
      "db": "restfiddle"
    }
  ]
}

Fetched 4 record(s) in 9ms

參考文章:

《MongoDB极简教程》第一章 安装&环境配置

《MongoDB极简教程》第二章 MongoDB 基本命令

源自开源项目:
RESTFiddle

An Enterprise-grade API Management Platform for Teams. RESTFiddle helps you design, develop, test and release APIs.

Some of the key features of this platform are:

  • Request Builder - Make HTTP requests with ease.
  • Request Tree - Organize requests in the form of a tree.
  • Collaboration - Add as many collaborators as you want from your team and work together on a project.
  • PDF Reports - Generate project status reports in PDF format.
  • Integration - RESTFiddle platform exposes APIs for everything it has.
  • History - Unlimited history/activity log.
  • Scheduler - Run API projects on predefined time intervals.
  • SendGrid - SendGrid integration to send notifications.
  • Cloud Deployment - It can be deployed over any server and can also be used as a cloud based hosted web application.
  • Private - Install it in your environment and own it completely. Work together with your team in your private network.
  • Database - Store everything in your database.
  • Swagger - Access RESTFiddle API documentation using Swagger UI.
  • Tagging - Tags provide a useful way to group related requests together.
  • Open Source - Fork it and build the features of your choice.
  • More - Security, Access Control, Notifications and much more.

A lot of powerful features coming soon!

Who Uses RESTFiddle

The following is a list of companies and projects using RESTFiddle:

Want to be added to this section? Email me at contact at bootsimply dot com.

For Gradle Users:

Build war

Unix :

./gradlew clean war

Windows :

gradlew.bat clean war

Run

Unix :

./gradlew bootRun

Windows :

gradlew.bat bootRun

Debugging in Windows : Add the following to build.gradle file and then run the above command

applicationDefaultJvmArgs = [
    "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"
]

Using MongoDB 3.x

Windows

Download the latest MongoDB version. After kappa release, RESTFiddle has enabled authentication and moved to version 3.0. To start using this, create a configuration file mongo.conf at a location.e.g. F:\restfiddledata. Create mongo.log file for logging e.g. F:\restfiddledata\log\ This is how configuration file looks like:

bind_ip = 127.0.0.1
 
port = 27017
 
quiet = true
 
dbpath=F:\restfiddledata\data0
  
logpath=F:\restfiddledata\log\mongo.log
 
logappend = true

Start MongoDB without authentication.

"C:\Program Files\MongoDB\Server\3.0\bin\mongod.exe" --config F:\restfiddledata\mongo.conf  

On another command prompt go to C:\Program Files\MongoDB\Server\3.0\bin and type command mongo. This opens Mongo Shell.
Create user here.

use restfiddle
db.createUser({"user":"rf","pwd":"rf","roles":["dbOwner","read","readWrite"]})

Now stop the database and restart it so that it checks for authentication

"C:\Program Files\MongoDB\Server\3.0\bin\mongod.exe" --auth --config F:\restfiddledata\mongo.conf

Start the RESTFiddle application using the same command as earlier

mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
Mac

Deployment

You can deploy the war file to Tomcat 7.0.52, Jetty, or any other container, as long as it supports servlet 3.0.

Technology Stack

Contribute

You're interested in contributing to RESTFiddle? AWESOME. Here are the basic steps:

Code formatting :
GitHub help :
Google Group :

https://groups.google.com/forum/#!forum/restfiddle

Meetup Group :

http://www.meetup.com/RESTFiddle

Gitter :

https://gitter.im/AnujaK/restfiddle

Code Quality :

https://nemo.sonarqube.org/overview?id=com.restfiddle%3Arestfiddle

Releases

https://github.com/AnujaK/restfiddle/releases

Support

If you need help in setting up RESTFiddle for your Team/Organization, feel free to contact me at this email address.

Copyright and License

Copyright 2015 BootSimply Solutions

Licensed under Apache License, Version 2.0

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1天前
|
缓存 负载均衡 安全
后端开发的艺术:构建高效、可扩展的API
在现代软件开发中,后端开发扮演着至关重要的角色。它不仅负责处理数据存储、业务逻辑和安全性,还需要提供高效、可扩展的API供前端和其他服务使用。本文将深入探讨后端开发的关键概念和技术,帮助读者了解如何构建高效、可扩展的API,并提供一些实用的建议和最佳实践。
|
16小时前
|
缓存 负载均衡 测试技术
‌API开发的基础概念和作用‌
API(Application Programming Interface)是一组定义了软件组件之间交互规则的接口。它提供了一种标准化的方式,让不同的软件组件之间可以进行通信和交互。
|
18小时前
|
缓存 API 网络架构
掌握现代API开发:GraphQL vs REST
【10月更文挑战第24天】本文深入探讨了现代API开发中两种主流技术——GraphQL和REST的设计理念、技术特点及实际开发中的对比分析。GraphQL通过声明式数据请求和强类型系统提供更高的灵活性和性能,而REST则以其无状态特性和成熟的生态系统见长。文章还讨论了两者在客户端-服务器交互、安全性和工具支持方面的优劣,帮助开发者根据项目需求做出明智选择。
|
1天前
|
关系型数据库 测试技术 API
探索后端开发:构建高效API的艺术
【10月更文挑战第25天】在数字化时代,后端开发不仅仅是编写代码那么简单。它是连接用户与数据的桥梁,是实现业务逻辑的基石。本文将深入探讨如何构建高效的API,从理解RESTful原则到选择合适的框架,再到处理数据库交互,每一步骤都是精心策划的舞蹈。我们将通过实际案例,揭示如何在保证性能和安全性的同时,提供流畅的用户体验。让我们一起走进后端开发的世界,发现那些隐藏在代码背后的智慧和创造力。
|
3月前
|
机器人 API Python
智能对话机器人(通义版)会话接口API使用Quick Start
本文主要演示了如何使用python脚本快速调用智能对话机器人API接口,在参数获取的部分给出了具体的获取位置截图,这部分容易出错,第一次使用务必仔细参考接入参数获取的位置。
190 1
|
10天前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
23天前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。
|
22天前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
6天前
|
JSON API 开发者
1688API商品详情接口如何获取
获取 1688 API 商品详情接口的步骤包括:1. 注册开发者账号;2. 了解接口规范和政策;3. 申请 API 权限;4. 获取 API 密钥;5. 实现接口调用(选择开发语言、发送 HTTP 请求);6. 处理响应数据。通过这些步骤,可以顺利调用 1688 的商品详情 API。
|
2月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
99 6