...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@RequiredArgsConstructor
@Controller
public class DocumentVersionController {
private final DocumentVersionService documentVersionService;
/**
* 문서 버전 목록 가져오기
*/
@PostMapping("/getDocumentVersionList")
public ResponseEntity<String> getDocumentVersionList(@RequestBody Map<String, Object> request) throws JsonProcessingException {
String id = (String) request.get("id");
List<DocumentVersion>List<DocumentVersionModel> documentVersionListdocumentVersionModelList = documentVersionService.getDocumentVersions(id);
List<Map<String, Object>> formattedData = documentVersionListdocumentVersionModelList.stream().map(version -> {
Map<String, Object> versionData = new HashMap<>();
versionData.put("id", version.getId());
versionData.put("date", version.getCreatedAt());
versionData.put("author", version.getUsername());
return versionData;
}).collect(Collectors.toList());
ObjectMapper objectMapper = new ObjectMapper();
String jsonResponse = objectMapper.writeValueAsString(formattedData);
return ResponseEntity.ok()
.header("Content-Type", "application/json; charset=UTF-8")
.body(jsonResponse);
}
/**
* 문서 버전 데이터 가져오기
*/
@PostMapping("/getDocumentVersionData")
public String getDocumentVersionData(@RequestBody Map<String, Object> request) {
ObjectMapper objectMapper = new ObjectMapper();
String id = (String) request.get("id");
String json = documentVersionService.getDocumentVersionJson(id);
return ResponseEntity.ok()
.header("Content-Type", "application/json; charset=UTF-8")
.body(json);
}
/**
* 문서 버전 데이터 삭제
*/
@DeleteMapping("/getDocumentVersionData")
public ResponseEntity<Map<String, Object>> deleteDocumentVersionData(@RequestBody Map<String, Object> request) {
String id = (String) request.get("id");
documentVersionService.deleteDocumentVersion(id);
return ResponseEntity.ok(Map.of("message", "Document deleted successfully."));
}
} |
...