Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-8 集成flink on local模式 #12

Merged
merged 67 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
d6ee7be
迁移部分代码
ispong Apr 7, 2024
37788df
格式化代码
ispong Apr 7, 2024
f02def9
完成flink提交到flinkCluster中
ispong Apr 9, 2024
3aabe01
完成flink提交到k8s中
ispong Apr 11, 2024
056b497
初始化flink-yun项目
ispong Apr 11, 2024
b3da0c5
格式化代码
ispong Apr 11, 2024
8eec8a9
完成对yarn的集成
ispong Apr 12, 2024
531fba2
格式化代码
ispong Apr 12, 2024
a8bcdd2
修改flink的依赖
ispong Apr 12, 2024
7ea1d46
修改官网背景颜色
ispong Apr 12, 2024
0b7502d
优化官网
ispong Apr 12, 2024
7fbe329
修改主题色
ispong Apr 12, 2024
7e1ba33
修改背景色
ispong Apr 12, 2024
c8bab4f
修复项目启动
ispong Apr 12, 2024
43f363f
优化swagger启动
ispong Apr 12, 2024
87a0b15
修复启动脚本异常
ispong Apr 12, 2024
1e4d883
修改banner
ispong Apr 12, 2024
a292af5
修改banner
ispong Apr 12, 2024
97876e0
修复gradle backend启动路径不一致问题
ispong Apr 12, 2024
a05ec74
修复gradle backend启动路径不一致问题
ispong Apr 12, 2024
7831ca9
优化git提交配置
ispong Apr 12, 2024
44c50bd
优化git提交配置
ispong Apr 12, 2024
7a30d70
优化git提交配置
ispong Apr 12, 2024
848dc20
优化git提交配置
ispong Apr 12, 2024
c089a02
格式化代码
ispong Apr 12, 2024
4d7f1c2
优化git提交配置
ispong Apr 12, 2024
ecbfaa8
优化git提交配置
ispong Apr 12, 2024
381525f
checkstyle优化
ispong Apr 12, 2024
aff7515
spotless优化
ispong Apr 12, 2024
6bab114
spotless优化
ispong Apr 12, 2024
af5aaa9
spotless优化
ispong Apr 12, 2024
386e164
spotless优化
ispong Apr 12, 2024
f5a9239
格式化代码
ispong Apr 12, 2024
8164b10
格式化代码
ispong Apr 12, 2024
d694589
checkstyle格式话
ispong Apr 12, 2024
7f5f2e8
优化gradle命令
ispong Apr 12, 2024
25fc226
替换logo
ispong Apr 13, 2024
002b4f9
替换产品logo
ispong Apr 13, 2024
2675d1f
优化代理器
ispong Apr 13, 2024
dd33732
优化节点安装
ispong Apr 13, 2024
510002b
修复节点无法安装问题
ispong Apr 13, 2024
26f9dc2
修复节点无法安装问题
ispong Apr 13, 2024
498b512
格式化代码
ispong Apr 13, 2024
8ec70dc
优化官网
ispong Apr 13, 2024
2c0d40a
修改产品名称
ispong Apr 13, 2024
679225d
修复节点无法安装
ispong Apr 13, 2024
7990c63
修复local模式flink无法提交问题
ispong Apr 14, 2024
c00ae47
修复代码无法提交到yarn中的问题
ispong Apr 14, 2024
65fff88
格式化代码
ispong Apr 14, 2024
a87640f
修复k8s的日志问题
ispong Apr 14, 2024
4574bca
修复yarn提交问题
ispong Apr 14, 2024
077add1
格式化代码
ispong Apr 14, 2024
b6806c0
修改git提交忽略
ispong Apr 23, 2024
22a77f9
完成local模式本地通测
ispong Apr 23, 2024
b335907
支持yarn测试
ispong Apr 23, 2024
4e171df
格式化代码
ispong Apr 23, 2024
ef91d26
添加解压安装lib
ispong Apr 23, 2024
ab11d75
格式化代码
ispong Apr 23, 2024
21dc462
修复yarn不支持提交
ispong Apr 23, 2024
3ac3b41
资源文件注意提交
ispong Apr 24, 2024
9357bc9
修复脚本不兼容
ispong Apr 24, 2024
baafeb3
修复脚本不兼容
ispong Apr 24, 2024
a6210ed
修复本地中止报错
ispong Apr 24, 2024
d2f4af4
格式化代码
ispong Apr 24, 2024
cc36d08
添加环境变量文件
ispong Apr 24, 2024
5f7f864
支持提交到docker中
ispong Apr 24, 2024
9391db9
修复k8s异常
ispong Apr 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
spotless优化
  • Loading branch information
ispong committed Apr 24, 2024
commit 386e16409709072ad9feadb90caef6774e32d9c6
4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
root = true

[*]
[*.java]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false
max_line_length = off
max_line_length = 120

[*.md]
trim_trailing_whitespace = false
4 changes: 2 additions & 2 deletions .spotless/eclipse-java-google-style.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<!-- 默认值为100太短了,改成400 -->
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="400"/>
<!-- 默认值为100太短了,改成120 -->
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation.count_dependent" value="16|4|48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,12 @@ public SubmitJobRes submitJob(SubmitJobReq submitJobReq) {

// 提交作业
String submitUrl = "http://" + restUrl + "/jars/" + fileName + "/run";
FlinkRestRunReq flinkRestRunReq = FlinkRestRunReq.builder().entryClass(submitJobReq.getEntryClass()).programArgs(submitJobReq.getProgramArgs()).build();
ResponseEntity<FlinkRestRunRes> flinkRestRunResResult = new RestTemplate().postForEntity(submitUrl, flinkRestRunReq, FlinkRestRunRes.class);
if (!HttpStatus.OK.equals(flinkRestRunResResult.getStatusCode()) || flinkRestRunResResult.getBody() == null || flinkRestRunResResult.getBody().getJobid() == null) {
FlinkRestRunReq flinkRestRunReq = FlinkRestRunReq.builder().entryClass(submitJobReq.getEntryClass())
.programArgs(submitJobReq.getProgramArgs()).build();
ResponseEntity<FlinkRestRunRes> flinkRestRunResResult =
new RestTemplate().postForEntity(submitUrl, flinkRestRunReq, FlinkRestRunRes.class);
if (!HttpStatus.OK.equals(flinkRestRunResResult.getStatusCode()) || flinkRestRunResResult.getBody() == null
|| flinkRestRunResResult.getBody().getJobid() == null) {
throw new IsxAppException("提交作业失败");
}
return SubmitJobRes.builder().jobId(flinkRestRunResResult.getBody().getJobid()).build();
Expand All @@ -52,9 +55,11 @@ public GetJobInfoRes getJobInfo(GetJobInfoReq getJobInfoReq) {
throw new IsxAppException("提交作业失败");
}

List<String> vertices = result.getBody().getVertices().stream().map(FlinkVerticesDto::getId).collect(Collectors.toList());
List<String> vertices =
result.getBody().getVertices().stream().map(FlinkVerticesDto::getId).collect(Collectors.toList());

return GetJobInfoRes.builder().jobId(result.getBody().getJid()).vertices(vertices).status(result.getBody().getState()).build();
return GetJobInfoRes.builder().jobId(result.getBody().getJid()).vertices(vertices)
.status(result.getBody().getState()).build();
}

@Override
Expand All @@ -64,14 +69,17 @@ public GetJobLogRes getJobLog(GetJobLogReq getJobLogReq) {

// 判断作业是否成功
String getStatusUrl = "http://" + restUrl + "/jobs/" + getJobLogReq.getJobId() + "/status";
ResponseEntity<FlinkRestStatusRes> result = new RestTemplate().getForEntity(getStatusUrl, FlinkRestStatusRes.class);
if (!HttpStatus.OK.equals(result.getStatusCode()) || result.getBody() == null || result.getBody().getStatus() == null) {
ResponseEntity<FlinkRestStatusRes> result =
new RestTemplate().getForEntity(getStatusUrl, FlinkRestStatusRes.class);
if (!HttpStatus.OK.equals(result.getStatusCode()) || result.getBody() == null
|| result.getBody().getStatus() == null) {
throw new IsxAppException("获取作业状态失败");
}

if ("FAILED".equals(result.getBody().getStatus())) {
String getExceptionUrl = "http://" + restUrl + "/jobs/" + getJobLogReq.getJobId() + "/exceptions";
ResponseEntity<FlinkRestExceptionRes> exceptionResult = new RestTemplate().getForEntity(getExceptionUrl, FlinkRestExceptionRes.class);
ResponseEntity<FlinkRestExceptionRes> exceptionResult =
new RestTemplate().getForEntity(getExceptionUrl, FlinkRestExceptionRes.class);
if (!HttpStatus.OK.equals(exceptionResult.getStatusCode())) {
throw new IsxAppException("提交作业失败");
}
Expand All @@ -81,17 +89,22 @@ public GetJobLogRes getJobLog(GetJobLogReq getJobLogReq) {
return GetJobLogRes.builder().log(exceptionResult.getBody().getRootException()).build();
} else {

GetJobInfoRes jobInfo = getJobInfo(GetJobInfoReq.builder().jobId(getJobLogReq.getJobId()).flinkHome(getJobLogReq.getFlinkHome()).agentType(getJobLogReq.getAgentType()).build());
GetJobInfoRes jobInfo = getJobInfo(GetJobInfoReq.builder().jobId(getJobLogReq.getJobId())
.flinkHome(getJobLogReq.getFlinkHome()).agentType(getJobLogReq.getAgentType()).build());

String getVerticesUrl = "http://" + restUrl + "/jobs/" + getJobLogReq.getJobId() + "/vertices/" + jobInfo.getVertices().get(0);
ResponseEntity<FlinkRestVerticesRes> forEntity = new RestTemplate().getForEntity(getVerticesUrl, FlinkRestVerticesRes.class);
String getVerticesUrl =
"http://" + restUrl + "/jobs/" + getJobLogReq.getJobId() + "/vertices/" + jobInfo.getVertices().get(0);
ResponseEntity<FlinkRestVerticesRes> forEntity =
new RestTemplate().getForEntity(getVerticesUrl, FlinkRestVerticesRes.class);

// 查询taskmanager的日志
String taskmanagerId = forEntity.getBody().getSubtasks().get(0).getTaskmanagerId();
String getLogUrl = "http://" + restUrl + "/taskmanagers/" + taskmanagerId + "/log";
ResponseEntity<String> log = new RestTemplate().getForEntity(getLogUrl, String.class);

String logRegex = "job " + getJobLogReq.getJobId() + " from resource manager with leader id.*?Close JobManager connection for job " + getJobLogReq.getJobId();
String logRegex = "job " + getJobLogReq.getJobId()
+ " from resource manager with leader id.*?Close JobManager connection for job "
+ getJobLogReq.getJobId();
Pattern pattern = Pattern.compile(logRegex, Pattern.DOTALL);
Matcher matcher = pattern.matcher(Objects.requireNonNull(log.getBody()));
if (matcher.find()) {
Expand Down Expand Up @@ -149,7 +162,8 @@ public String uploadAppResource(SubmitJobReq submitJobReq, String restUrl) {
param.add("jarfile", new FileSystemResource(new File(submitJobReq.getAppResource())));
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(param, headers);

ResponseEntity<FlinkRestUploadRes> result = restTemplate.exchange(uploadUrl, HttpMethod.POST, requestEntity, FlinkRestUploadRes.class);
ResponseEntity<FlinkRestUploadRes> result =
restTemplate.exchange(uploadUrl, HttpMethod.POST, requestEntity, FlinkRestUploadRes.class);
if (!HttpStatus.OK.equals(result.getStatusCode())) {
throw new IsxAppException("提交资源文件异常");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,31 +32,39 @@ public SubmitJobRes submitJob(SubmitJobReq submitJobReq) {
Configuration flinkConfig = GlobalConfiguration.loadConfiguration();
flinkConfig.set(DeploymentOptions.TARGET, KubernetesDeploymentTarget.APPLICATION.getName());
flinkConfig.set(PipelineOptions.NAME, submitJobReq.getAppName());
flinkConfig.set(ApplicationConfiguration.APPLICATION_ARGS, Collections.singletonList(submitJobReq.getProgramArgs()));
flinkConfig.set(ApplicationConfiguration.APPLICATION_ARGS,
Collections.singletonList(submitJobReq.getProgramArgs()));
flinkConfig.set(ApplicationConfiguration.APPLICATION_MAIN_CLASS, submitJobReq.getEntryClass());
flinkConfig.set(PipelineOptions.JARS, Collections.singletonList("local:///opt/flink/examples/app.jar"));
flinkConfig.set(KubernetesConfigOptions.CLUSTER_ID, "zhiliuyun-cluster-" + System.currentTimeMillis());
flinkConfig.set(KubernetesConfigOptions.REST_SERVICE_EXPOSED_TYPE, KubernetesConfigOptions.ServiceExposedType.NodePort);
flinkConfig.set(KubernetesConfigOptions.CONTAINER_IMAGE_PULL_POLICY, KubernetesConfigOptions.ImagePullPolicy.IfNotPresent);
flinkConfig.set(KubernetesConfigOptions.REST_SERVICE_EXPOSED_TYPE,
KubernetesConfigOptions.ServiceExposedType.NodePort);
flinkConfig.set(KubernetesConfigOptions.CONTAINER_IMAGE_PULL_POLICY,
KubernetesConfigOptions.ImagePullPolicy.IfNotPresent);
flinkConfig.set(KubernetesConfigOptions.NAMESPACE, "zhiliuyun-space");
flinkConfig.set(KubernetesConfigOptions.KUBERNETES_SERVICE_ACCOUNT, "zhiliuyun");
flinkConfig.set(KubernetesConfigOptions.CONTAINER_IMAGE, "flink:1.18.1-scala_2.12");
flinkConfig.set(KubernetesConfigOptions.TASK_MANAGER_CPU, 2.0);
flinkConfig.set(KubernetesConfigOptions.KUBERNETES_POD_TEMPLATE, "/Users/ispong/isxcode/flink-yun/flink-yun-dist/pod/pod-template.yaml");
flinkConfig.set(KubernetesConfigOptions.KUBERNETES_POD_TEMPLATE,
"/Users/ispong/isxcode/flink-yun/flink-yun-dist/pod/pod-template.yaml");
flinkConfig.set(KubernetesConfigOptions.FLINK_LOG_DIR, "/log");
flinkConfig.set(DeploymentOptionsInternal.CONF_DIR, submitJobReq.getFlinkHome() + "/conf");
flinkConfig.set(JobManagerOptions.TOTAL_PROCESS_MEMORY, MemorySize.parse("2g"));
flinkConfig.set(TaskManagerOptions.TOTAL_PROCESS_MEMORY, MemorySize.parse("2g"));
flinkConfig.set(TaskManagerOptions.NUM_TASK_SLOTS, 1);
flinkConfig.set(KubernetesConfigOptions.KUBERNETES_HOSTNETWORK_ENABLED, true);

ClusterSpecification clusterSpecification = new ClusterSpecification.ClusterSpecificationBuilder().setMasterMemoryMB(1024).setTaskManagerMemoryMB(1024).setSlotsPerTaskManager(2).createClusterSpecification();
ClusterSpecification clusterSpecification =
new ClusterSpecification.ClusterSpecificationBuilder().setMasterMemoryMB(1024).setTaskManagerMemoryMB(1024)
.setSlotsPerTaskManager(2).createClusterSpecification();

ApplicationConfiguration applicationConfiguration = ApplicationConfiguration.fromConfiguration(flinkConfig);
applicationConfiguration.applyToConfiguration(flinkConfig);
KubernetesClusterClientFactory kubernetesClusterClientFactory = new KubernetesClusterClientFactory();
try (KubernetesClusterDescriptor clusterDescriptor = kubernetesClusterClientFactory.createClusterDescriptor(flinkConfig)) {
ClusterClientProvider<String> clusterClientProvider = clusterDescriptor.deployApplicationCluster(clusterSpecification, applicationConfiguration);
try (KubernetesClusterDescriptor clusterDescriptor =
kubernetesClusterClientFactory.createClusterDescriptor(flinkConfig)) {
ClusterClientProvider<String> clusterClientProvider =
clusterDescriptor.deployApplicationCluster(clusterSpecification, applicationConfiguration);
System.out.println(clusterClientProvider.getClusterClient().getClusterId());
System.out.println(clusterClientProvider.getClusterClient().getWebInterfaceURL());
return null;
Expand All @@ -75,8 +83,10 @@ public GetJobInfoRes getJobInfo(GetJobInfoReq getJobInfoReq) {
flinkConfig.set(KubernetesConfigOptions.KUBERNETES_SERVICE_ACCOUNT, "zhiliuyun");

KubernetesClusterClientFactory kubernetesClusterClientFactory = new KubernetesClusterClientFactory();
try (KubernetesClusterDescriptor clusterDescriptor = kubernetesClusterClientFactory.createClusterDescriptor(flinkConfig)) {
ClusterClientProvider<String> clusterClientProvider = clusterDescriptor.retrieve(getJobInfoReq.getClusterId());
try (KubernetesClusterDescriptor clusterDescriptor =
kubernetesClusterClientFactory.createClusterDescriptor(flinkConfig)) {
ClusterClientProvider<String> clusterClientProvider =
clusterDescriptor.retrieve(getJobInfoReq.getClusterId());
System.out.println(clusterClientProvider.getClusterClient().getWebInterfaceURL());
return null;
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,26 +40,31 @@ public SubmitJobRes submitJob(SubmitJobReq submitJobReq) {
flinkConfig.set(PipelineOptions.NAME, submitJobReq.getAppName());
flinkConfig.set(ApplicationConfiguration.APPLICATION_ARGS, singletonList(submitJobReq.getProgramArgs()));
flinkConfig.set(ApplicationConfiguration.APPLICATION_MAIN_CLASS, submitJobReq.getEntryClass());
flinkConfig.set(PipelineOptions.JARS, singletonList("/Users/ispong/isxcode/flink-yun/flink-yun-plugins/flink-sql-execute-plugin/build/libs/flink-sql-execute-plugin.jar"));
flinkConfig.set(PipelineOptions.JARS, singletonList(
"/Users/ispong/isxcode/flink-yun/flink-yun-plugins/flink-sql-execute-plugin/build/libs/flink-sql-execute-plugin.jar"));
flinkConfig.set(DeploymentOptionsInternal.CONF_DIR, submitJobReq.getFlinkHome() + "/conf");
flinkConfig.set(JobManagerOptions.TOTAL_PROCESS_MEMORY, MemorySize.parse("2g"));
flinkConfig.set(TaskManagerOptions.TOTAL_PROCESS_MEMORY, MemorySize.parse("2g"));
flinkConfig.set(TaskManagerOptions.NUM_TASK_SLOTS, 1);
flinkConfig.set(YarnConfigOptions.APPLICATION_NAME, submitJobReq.getAppName());
flinkConfig.set(YarnConfigOptions.FLINK_DIST_JAR, "/Users/ispong/isxcode/flink-yun/flink-yun-dist/flink-min/lib/flink-dist-1.18.1.jar");
flinkConfig.set(YarnConfigOptions.FLINK_DIST_JAR,
"/Users/ispong/isxcode/flink-yun/flink-yun-dist/flink-min/lib/flink-dist-1.18.1.jar");
List<String> libFile = new ArrayList<>();
libFile.add("/Users/ispong/isxcode/flink-yun/flink-yun-dist/flink-min/lib");
libFile.add("/Users/ispong/isxcode/flink-yun/resources/jdbc/system");
libFile.add("/Users/ispong/isxcode/flink-yun/resources/cdc");
flinkConfig.set(YarnConfigOptions.SHIP_FILES, libFile);

ClusterSpecification clusterSpecification = new ClusterSpecification.ClusterSpecificationBuilder().setMasterMemoryMB(1024).setTaskManagerMemoryMB(1024).setSlotsPerTaskManager(2).createClusterSpecification();
ClusterSpecification clusterSpecification =
new ClusterSpecification.ClusterSpecificationBuilder().setMasterMemoryMB(1024).setTaskManagerMemoryMB(1024)
.setSlotsPerTaskManager(2).createClusterSpecification();

ApplicationConfiguration applicationConfiguration = ApplicationConfiguration.fromConfiguration(flinkConfig);
applicationConfiguration.applyToConfiguration(flinkConfig);
YarnClusterClientFactory yarnClusterClientFactory = new YarnClusterClientFactory();
try (YarnClusterDescriptor clusterDescriptor = yarnClusterClientFactory.createClusterDescriptor(flinkConfig)) {
ClusterClientProvider<ApplicationId> applicationIdClusterClientProvider = clusterDescriptor.deployApplicationCluster(clusterSpecification, applicationConfiguration);
ClusterClientProvider<ApplicationId> applicationIdClusterClientProvider =
clusterDescriptor.deployApplicationCluster(clusterSpecification, applicationConfiguration);
System.out.println(applicationIdClusterClientProvider.getClusterClient().getClusterId());
System.out.println(applicationIdClusterClientProvider.getClusterClient().getWebInterfaceURL());
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,17 @@ public class AddApiReq {
@Schema(title = "如果用户使用自定义认证方式,需要填写", example = "")
private List<HeaderTokenDto> reqHeader;

@Schema(title = "请求体", example = "{\n" + " \"age\":\"$age\",\n" + " \"page\":\"$system.page\",\n" + " \"pageSize\":\"$system.pageSize\"\n" + "}")
@Schema(title = "请求体", example = "{\n" + " \"age\":\"$age\",\n" + " \"page\":\"$system.page\",\n"
+ " \"pageSize\":\"$system.pageSize\"\n" + "}")
private String reqBody;

@Schema(title = "执行sql", example = "select username, age from ispong_db where age > $age")
private String apiSql;

@Schema(title = "响应体", example = "{\n" + "\"code\":\"200\",\n" + " \"message\":\"返回成功\",\n" + " \"$data\":[\n" + " {\n" + " \"username\":\"$username\"\n" + " \"age\":\"$age\"\n" + " }\n" + " ],\n" + " \"count\":\"$system.count\"\n" + "}")
@Schema(title = "响应体",
example = "{\n" + "\"code\":\"200\",\n" + " \"message\":\"返回成功\",\n" + " \"$data\":[\n" + " {\n"
+ " \"username\":\"$username\"\n" + " \"age\":\"$age\"\n" + " }\n" + " ],\n"
+ " \"count\":\"$system.count\"\n" + "}")
private String resBody;

@Schema(title = "备注", example = "备注123")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,18 @@ public class UpdateApiReq {
@Schema(title = "如果用户使用自定义认证方式,需要填写", example = "")
private List<HeaderTokenDto> reqHeader;

@Schema(title = "请求体", example = "{\n" + " \"age\":\"${age}\",\n" + " \"page\":\"${page}\",\n" + " \"pageSize\":\"${pageSize}\"\n" + "}")
@Schema(title = "请求体", example = "{\n" + " \"age\":\"${age}\",\n" + " \"page\":\"${page}\",\n"
+ " \"pageSize\":\"${pageSize}\"\n" + "}")
private String reqBody;

@Schema(title = "执行sql", example = "select username, age from ispong_db where age > ${age} limit $[${page}-1)*${pageSize}],${pageSize}")
@Schema(title = "执行sql",
example = "select username, age from ispong_db where age > ${age} limit $[${page}-1)*${pageSize}],${pageSize}")
private String apiSql;

@Schema(title = "响应体", example = "{\n" + "\"code\":\"200\",\n" + " \"message\":\"返回成功\",\n" + " \"data\":[\n" + " ${\n" + " \"username\":\"${username}\"\n" + " \"age\":\"${age}\"\n" + " }$\n" + " ]\n" + " \"count\":\"${COUNT}\"\n" + "}")
@Schema(title = "响应体",
example = "{\n" + "\"code\":\"200\",\n" + " \"message\":\"返回成功\",\n" + " \"data\":[\n" + " ${\n"
+ " \"username\":\"${username}\"\n" + " \"age\":\"${age}\"\n" + " }$\n"
+ " ]\n" + " \"count\":\"${COUNT}\"\n" + "}")
private String resBody;

@Schema(title = "备注", example = "备注123")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public class WfiWorkflowInstanceAo {

private String status;

public WfiWorkflowInstanceAo(String workflowInstanceId, String workflowName, Long duration, Date nextPlanDateTime, Date planStartDateTime, Date startDateTime, Date endDateTime, String status, String type) {
public WfiWorkflowInstanceAo(String workflowInstanceId, String workflowName, Long duration, Date nextPlanDateTime,
Date planStartDateTime, Date startDateTime, Date endDateTime, String status, String type) {
this.workflowInstanceId = workflowInstanceId;
this.workflowName = workflowName;
this.duration = duration;
Expand Down
Loading