127 lines
2.2 KiB
Markdown
127 lines
2.2 KiB
Markdown
|
# micro_service
|
||
|
|
||
|
|
||
|
## api/conf
|
||
|
|
||
|
|
||
|
|
||
|
### GET /
|
||
|
|
||
|
return all configure, content from file `etc/conf.json`
|
||
|
```json
|
||
|
{
|
||
|
"dbs": {
|
||
|
"data_center": {
|
||
|
"uri": "postgres://postgres:123456@127.0.0.1:5432/cim_data_center",
|
||
|
"default": true
|
||
|
},
|
||
|
"base_map": {
|
||
|
"uri": "postgres://postgres:123456@127.0.0.1:5432/cim_base_map",
|
||
|
"default": false
|
||
|
}
|
||
|
},
|
||
|
"sqls": {
|
||
|
"test": {
|
||
|
"db": "data_center",
|
||
|
"sql": "select :pa as pa, :pb as pb"
|
||
|
},
|
||
|
"orders": {
|
||
|
"db": "data_center",
|
||
|
"sql": "select * from orders where id=:id::integer"
|
||
|
},
|
||
|
"charts": {
|
||
|
"sql": "select * from chart where id=:id"
|
||
|
},
|
||
|
"names.all": {
|
||
|
"sql": "select * from names"
|
||
|
},
|
||
|
"names.insert": {
|
||
|
"db": "data_center",
|
||
|
"sql": "insert into names(id, name) values(:id, :name) returning id,name"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
### GET /:path
|
||
|
return `path` content, the path of the property to get, `a.b.c`
|
||
|
|
||
|
GET /api/conf/dbs.data_center
|
||
|
```json
|
||
|
{
|
||
|
"uri": "postgres://postgres:123456@127.0.0.1:5432/cim_data_center",
|
||
|
"default": true
|
||
|
}
|
||
|
```
|
||
|
GET /api/conf/dbs.data_center.uri
|
||
|
```json
|
||
|
"postgres://postgres:123456@127.0.0.1:5432/cim_data_center"
|
||
|
```
|
||
|
|
||
|
### GET /:path/:key
|
||
|
return `path` and `key`, `path` support `a.b.c` as json path, `key` as string.
|
||
|
|
||
|
GET /api/sqls/name.all
|
||
|
```json
|
||
|
{
|
||
|
"sql": "select * from names"
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### POST /:path/:key
|
||
|
set `path` and `key`, if `path` is not exist, new `path` for conf. if `path` is exit, add or replace key for value.
|
||
|
|
||
|
POST /api/conf/test.post/new.key<br/>
|
||
|
Content-Type:application/json
|
||
|
```json
|
||
|
{"new.name":"new.value"}
|
||
|
```
|
||
|
response
|
||
|
```json
|
||
|
{
|
||
|
"path": "test.post",
|
||
|
"key": "new.key",
|
||
|
"value": {
|
||
|
"new.name": "new.value"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
conf file added
|
||
|
```
|
||
|
"test": {
|
||
|
"post": {
|
||
|
"new.key": {
|
||
|
"new.name": "new.value"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
### DELETE /:path/:key
|
||
|
unset `path` and `key` from conf file
|
||
|
|
||
|
## api/db
|
||
|
`key` from conf file's `sqls`
|
||
|
|
||
|
### GET /:key?pa=1&pb=2
|
||
|
exec `db` and `sql` from conf file.
|
||
|
|
||
|
GET /api/db/test?pa=1&pb=2
|
||
|
```json
|
||
|
[{"pa":"1","pb":"2"}]
|
||
|
```
|
||
|
|
||
|
### POST /:key
|
||
|
POST /api/db/test<br/>
|
||
|
Content-Type:application/json
|
||
|
```json
|
||
|
{"pa":1,"pb":2}
|
||
|
```
|
||
|
response
|
||
|
```json
|
||
|
[
|
||
|
{
|
||
|
"pa": 1,
|
||
|
"pb": 2
|
||
|
}
|
||
|
]
|
||
|
```
|