我这里写成了一个 RequestMapping 方便调用维护,但是会有注入的风险,慎用,做好权限处理。
反射代码
/**
* 风险操作
*
* @param request
* @return
*/
@RequestMapping(value = "/risk-operator")
public Object riskOperator(@RequestBody String request) {
try {
JSONObject requestJson = JSON.parseObject(request, Feature.OrderedField);
Class[] paramClasses = null;
Object[] paramArgs = null;
JSONObject paramJson = requestJson.getJSONObject("method_param");
if (!ObjectUtils.isEmpty(paramJson)) {
paramClasses = new Class[paramJson.size()];
paramArgs = new Object[paramJson.size()];
int i = 0;
for (Map.Entry entry : paramJson.entrySet()) {
Class paramClass = Class.forName(entry.getKey());
paramClasses[i] =