提供增删改查的restful接口
以RequestMapping("/user)
为例
功能 | http method&url | 响应 | 说明 |
---|---|---|---|
查询 | GET /user | HTTP Status:200 {"status":200,"result":{"data":[],"total":0}} | 可进行动态查询 |
不分页查询 | GET /user/no-paging | HTTP Status:200 {"status":200,"result":[]} | 可进行动态查询 |
获取指定id的数据 | GET /user/{id} | HTTP Status:200 {"status":200,"result":{"name":""} | 可进行动态查询 |
新增 | POST /user | HTTP Status:201 {"status":201,"result":"{id}"} | contentType='application/json' |
更新 | PUT /user/{id} | HTTP Status:200 {"status":200} | contentType='application/json' |
新增或者更新 | PATCH /user | HTTP Status:200 {"status":200,"result":"{id}"} | contentType='application/json' |
删除 | DELETE /user/{id} | HTTP Status:200 {"status":200} |
目前支持动态查询条件类 QueryParamEntity
:
前端传参数:
- 普通条件
terms[0].column=name&terms[0].termType=like&terms[0].value=张三
等同于sql
where name like ?
where name like '张三'
- 复杂条件
terms[0].column=name&terms[0].termType=eq&terms[0].value=张三
&terms[1].column=name&terms[1].termType=eq&terms[1].type=or&terms[1].value=李四
等同于sql
where name =? or name = ?
where name = '张三' or name = '李四'
- 嵌套条件
terms[0].column=name&terms[0].termType=like&terms[0].value=张%
&terms[1].type=and
&terms[1].terms[0].column=age&terms[1].terms[0].termType=gt&terms[1].terms[0].value=10
&terms[1].terms[1].column=age&terms[1].terms[1].termType=lt&terms[1].terms[1].value=18
等同于sql
where name like ? and (age>? and age <?)
where name like '张%' and (age>10 and age <18)
- 排序
sorts[0].name=age&sorts[0].order=desc
等同于sql
order by age desc
- 分页
pageIndex=0&pageSize=20
不分页查询
paging=false
- 指定要查询的列
includes=id,name,age
等同于sql
select id,name,age from ......
不查询的列参数为excludes,如:excludes=comment,phone
注意: 以上参数都进行了验证,不会有sql注入问题。