보드서비스수정

This commit is contained in:
dyhj625 2025-01-24 12:51:05 +09:00
parent b72ce018d5
commit e9a4cf1276

View File

@ -191,14 +191,15 @@ public class localbordService {
private String extractFirstImageUrl(String jsonContent) {
try {
// JSON 유효성 검사
if (!isValidJson(jsonContent)) {
throw new IllegalArgumentException("Invalid JSON content: " + jsonContent);
}
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(jsonContent);
if (!rootNode.isArray()) {
System.err.println("JSON content is not an array");
return null;
}
// JSON 배열 순회
for (JsonNode node : rootNode) {
JsonNode insertNode = node.get("insert");
if (insertNode != null && insertNode.has("image")) {
@ -212,6 +213,16 @@ public class localbordService {
return null; // 이미지가 없는 경우
}
private boolean isValidJson(String json) {
try {
final ObjectMapper objectMapper = new ObjectMapper();
objectMapper.readTree(json); // JSON 파싱 시도
return true; // JSON이 유효하면 true 반환
} catch (Exception e) {
return false; // 유효하지 않은 경우 false 반환
}
}
private String extractPlainTextFromJson(String jsonContent) {
StringBuilder plainTextBuilder = new StringBuilder();
try {
@ -257,20 +268,15 @@ public class localbordService {
post.put("dislikeCount", reactions.getOrDefault("dislikeCount", 0));
Object content = post.get("content");
if (content != null) {
String contentString = convertBlobToString(content);
post.put("content", contentString);
String contentString = convertBlobToString(content);
post.put("content", contentString);
// 번째 이미지 URL 순수 텍스트 추출
String firstImageUrl = extractFirstImageUrl(contentString);
post.put("firstImageUrl", firstImageUrl);
String firstImageUrl = extractFirstImageUrl(contentString);
post.put("firstImageUrl", firstImageUrl);
String plainContent = extractPlainTextFromJson(contentString);
post.put("plainContent", plainContent);
String plainContent = extractPlainTextFromJson(contentString);
post.put("plainContent", plainContent);
}
} else {
post.put("commentCount", 0);
}
}
}