
edi.rule.core.JSRuleController Maven / Gradle / Ivy
package edi.rule.core;
import edi.rule.config.JSRuleProperties;
import edi.rule.util.ZSHttp;
import edi.rule.work.constant.JSRuleJsonConfig;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.web.bind.annotation.*;
/**
* @author 摩拉克斯
* 框架内置控制器,用于启动引擎,仅支持http请求
* */
@Data
@EqualsAndHashCode(callSuper=false)
@RestController
@ConditionalOnProperty(prefix=JSRuleProperties.JSON_RULE_PREFIX+".close",name="engineController",havingValue="false",matchIfMissing=true)
@RequestMapping(JSRuleJsonConfig.DEFAULT_REQUEST_MAPPING)
public class JSRuleController {
@Autowired
protected JSRuleService service;
@Autowired
protected HttpServletRequest request;
@Autowired
protected HttpServletResponse response;
@PostMapping(value = JSRuleJsonConfig.DEFAULT_REQUEST_START)
public String start() {
return service.start(ZSHttp.getJsonStrFromReq(request),ZSHttp.initGlobalArgs(request,response));
}
@PostMapping(value = JSRuleJsonConfig.DEFAULT_REQUEST_END)
public void end() {
start();
}
}