分组查询

在了解分组查询之前,我们需要先了解下 APIJSON 所支持的函数

函数名说明
count统计分组下,某字段的个数
sum统计分组下,某字段的和
max统计分组下,某字段的最大值
min统计分组下,某字段的最小值
avg统计分组下,某字段的平均值

比如,如果只是单纯的查出最大值,这样请求就可以了

  1. {
  2. "[]": {
  3. "Moment": {
  4. "@column": "max(id):maxid"
  5. }
  6. }
  7. }

响应:

  1. {
  2. "[]": [
  3. {
  4. "Moment": {
  5. "maxid": 1541912160047
  6. }
  7. }
  8. ],
  9. "code": 200,
  10. "msg": "success"
  11. }

这里maxid是我们取的别名

如果是有分组条件的,那我们需要使用@group

比如,像下面 SALE 表,这张表表示,2018 年 1 月 1 日某公司门下的 3 个店铺(STORE_ID)的营业额(AMT)数据

IDSTORE_IDAMT
11100
2180
3230
42100
53210

如果,我们想要计算出这天每个店铺一共卖了多少,我们通过 APIJSON 可以这样查询

  1. {
  2. "[]": {
  3. "Sale":{
  4. "@column":"store_id,sum(amt):totAmt",
  5. "@group":"store_id"
  6. }
  7. }
  8. }

登录

如果没有登录,由于权限的限制,是需要登录的。

登录地址http://127.0.0.1:8080/login,发送请求

  1. {
  2. "phone": "13000038710",
  3. "password": "apijson"
  4. }

账号和密码,可以到apijson_user里面查询

测试新增

接口地址:http://localhost:8080/post

我们想新增一条备注时,发送这样的请求

请求

  1. {
  2. "Moment": {
  3. "content": "今天天气不错,到处都是提拉米苏雪",
  4. "userId": 38710
  5. },
  6. "tag": "Moment"
  7. }

tag是我们在request表里面配置的tag字段。

响应

  1. {
  2. "Moment": {
  3. "code": 200,
  4. "count": 1,
  5. "id": 1544520921923,
  6. "msg": "success"
  7. },
  8. "code": 200,
  9. "msg": "success"
  10. }

返回的id是新增的数据的新 id

测试修改

接口地址:http://localhost:8080/put

修改备注和新增类似

请求

  1. {
  2. "Moment": {
  3. "id": 1544520921923,
  4. "content": "海洋动物数量减少,如果非吃不可,不点杀也是在保护它们"
  5. },
  6. "tag": "Moment"
  7. }

响应

  1. {
  2. "Moment": {
  3. "code": 200,
  4. "count": 1,
  5. "id": 1544520921923,
  6. "msg": "success"
  7. },
  8. "code": 200,
  9. "msg": "success"
  10. }

如果要对json类型操作的话,这样请求

  1. {
  2. "Moment": {
  3. "id": 1544520921923,
  4. "praiseUserIdList+": [123]
  5. },
  6. "tag": "Moment"
  7. }

这里的praiseUserIdList是一个json类型的字段,在操作之前它是空的[],提交以后它是[123],如果再添加一个 21,则会变成[123,21]

要删除其中的值,把+变成-即可

测试删除

接口地址:http://localhost:8080/delete

请求

  1. {
  2. "Moment": {
  3. "id": 1544520921923
  4. },
  5. "tag": "Moment"
  6. }