前端请求完整执行sql
Posted 如月之恒-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端请求完整执行sql相关的知识,希望对你有一定的参考价值。
文章目录
实现
以下是实现的逻辑及方法。
注意:此方法一定要进行充分的权限校验,否则很容易被攻击。
public class ExcuteSqlController
@Autowired
MeasureMapperDef mapperDef;
@Autowired
HttpServletRequest httpServletRequest;
private static final String EXCUTE_SQL_SCRET = "executedeleteSql-super-headerScret";
@PostMapping("testSql")
@ApiOperation("执行sql")
public WebResponse executedeleteSql(@RequestBody SqlDto sqlDto)
if (!EXCUTE_SQL_SCRET.equals(sqlDto.getValid()))
return ResponseUtil.success("无权访问");
List<Map<String, Object>> executeResult = mapperDef.executedeleteSql(sqlDto.getSql());
return ResponseUtil.success(executeResult, "获取数据成功");
- 请求的body
"sql":"SELECT * FROM user;",
"valid":"executedeleteSql-super-headerScret"
@Mapper
public interface MeasureMapperDef
List<Map<String, Object>> executedeleteSql(String value);
<select id="executedeleteSql" parameterType="String" resultType="map">
$value
</select>
注
- 文章是个人知识点整理总结,如有错误和不足之处欢迎指正。
- 如有疑问、或希望与笔者探讨技术问题(包括但不限于本章内容),欢迎添加笔者微信(o815441)。请备注“探讨技术问题”。欢迎交流、一起进步。
以上是关于前端请求完整执行sql的主要内容,如果未能解决你的问题,请参考以下文章