refactor(ZsyhCbsProcessor): 优化初始请求JSON读取方式

在`ZsyhCbsProcessor`类中,对读取初始FlowFile内容的方式进行了改进。通过使用`InputStream`来读取内容,并且确保了资源的正确关闭,从而提高了代码的健壮性和可维护性。具体改动包括:
- 引入了`java.io.InputStream`的导入语句。
- 使用`try-with-resources`语句自动管理`InputStream`的生命周期,避免了潜在的资源泄漏问题。
- 将读取和解析JSON的操作封装到了`try-with-resources`块内,使得代码逻辑更加清晰。
This commit is contained in:
liuy 2025-09-11 17:14:48 +08:00
parent b087e5d2fc
commit 9d2f9451c1
1 changed files with 6 additions and 3 deletions

View File

@ -24,6 +24,7 @@ import org.apache.nifi.processor.util.StandardValidators;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.security.Security;
import java.util.*;
@ -115,9 +116,11 @@ public class ZsyhCbsProcessor extends AbstractProcessor {
List<JsonNode> allRecords = new ArrayList<>();
try {
//读取初始FlowFile内容作为后续分页请求的模板
String initialRequestJson = IOUtils.toString(session.read(flowFile), StandardCharsets.UTF_8);
ObjectNode requestTemplate = (ObjectNode) objectMapper.readTree(initialRequestJson);
ObjectNode requestTemplate;
try (InputStream in = session.read(flowFile)) {
String initialRequestJson = IOUtils.toString(in, StandardCharsets.UTF_8);
requestTemplate = (ObjectNode) objectMapper.readTree(initialRequestJson);
}
// 获取初始页码
int currentPage = requestTemplate.has("currentPage") ? requestTemplate.get("currentPage").asInt() : 1;