https://github.com/lflxp/lflxp-api
Using boltdb to quickly build the local key / value restful API for local monitoring, etc
https://github.com/lflxp/lflxp-api
boltdb element-ui gin profiling prometheus-metrics storm swagger vue
Last synced: about 1 month ago
JSON representation
Using boltdb to quickly build the local key / value restful API for local monitoring, etc
- Host: GitHub
- URL: https://github.com/lflxp/lflxp-api
- Owner: lflxp
- License: apache-2.0
- Created: 2020-03-23T05:19:41.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-23T09:44:15.000Z (about 6 years ago)
- Last Synced: 2025-01-10T23:42:26.404Z (over 1 year ago)
- Topics: boltdb, element-ui, gin, profiling, prometheus-metrics, storm, swagger, vue
- Language: Go
- Size: 888 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lflxp-api
Using boltdb to quickly build the local key / value restful API for local monitoring, etc

# Requirements
* go get -u github.com/jteeuwen/go-bindata/...
* go get -u github.com/elazarl/go-bindata-assetfs/...
* go get -u github.com/swaggo/swag/cmd/swag
# Install
> make
There were two step in makefile
* cp cmd/main.go ..
* go build
`For Coder Demo`
> cmd/main.go
```go
package main
import (
"flag"
"github.com/lflxp/lflxp-api/pkg"
)
var (
host string
port string
stats bool
)
func init() {
flag.StringVar(&host,"host","127.0.0.1","bind http host")
flag.StringVar(&port,"port","8080","bind http port")
flag.BoolVar(&stats,"stats",false,"is output db stats")
flag.Parse()
}
func main() {
api := pkg.Apis{
Host:host,
Port:port,
Stats: stats,
}
err := api.Check()
if err != nil {
panic(err)
}
api.Execute()
}
```
# Running
`Format`
```bash
➜ lflxp-api git:(master) ✗ lflxp-api -h
Usage of lflxp-api:
-host string
bind http host (default "127.0.0.1")
-port string
bind http port (default "8080")
-stats
is output db stat
```
> lflxp-api -stats
Open http://127.0.0.1:8080 in browser
# Prefix interface

It mainly provides basic operation functions, including:
* Bucket query, add, delete
* Bucket key and value display
* Key deletion and modification function
* Prefix query
* Paging function
* Refresh function
# Range interface
The only difference from the prefix interface is the search function, including:
* Query by key time range
* The time data is an array of [min, Max], eg: ["20200313000000", "20200412235959"]
* The time format is: ` yyyymmddhhmmss`
# Orm
Todo: time series field retrieval based on value
# Backup
Provide HTTP backup data function
# Swagger
Visual interface of API based on gin swagger

# Making data
> while true;do curl -X POST "http://127.0.0.1:8080/api/v1/key/add/monitor/$RANDOM/$RANDOM" -H "accept: application/json";done