tl; dr
Nó sẽ cần triển khai tùy chỉnh cho kho lưu trữ và bộ điều khiển.
Chi tiết
Chúng tôi phải đảm bảo rằng chúng tôi không bị lạc trong tất cả các khía cạnh khác nhau mà bạn đang đề cập ở đây. Tôi sẽ cố gắng gỡ rối các nhánh từ dưới lên:
Thực thi tập lệnh MongoDB
Là tài liệu tham khảo về cách thực thi tập lệnh với MongoDB
trạng thái (và bạn đã phát hiện ra), chức năng được cung cấp by MongoTemplate
của ScriptOperations
. Vì vậy, cách sử dụng API đó phải rõ ràng. Tham khảo Javadoc để biết thêm thông tin.
Thực thi các tập lệnh qua kho lưu trữ Dữ liệu mùa xuân
Điều tiếp theo bạn yêu cầu là thực thi các tập lệnh đó thông qua sự trừu tượng của kho lưu trữ. Để không ném em bé ra ngoài với nước tắm ở đây, hãy đảm bảo rằng chúng tôi hiểu mục đích của một kho lưu trữ:nó mô phỏng một bộ sưu tập các rễ tổng hợp và truy cập vào nó mà không để lộ cơ chế tồn tại cơ bản . Hiển thị các loại như ExecutableMongoScript
trên kho lưu trữ sẽ phá vỡ đặc điểm thứ hai. Do đó, cách tiếp cận đúng ở đây là tạo một triển khai tùy chỉnh cho chức năng cụ thể đó như được mô tả trong tài liệu tham khảo về kho dữ liệu Spring
.
Hiển thị chức năng qua REST
Tôi giả sử bạn đang đề cập đến tính năng của Spring Data REST để hiển thị tài nguyên dành riêng cho phương pháp truy vấn kho lưu trữ trong câu hỏi của bạn. Spring Data REST hiện chỉ tự động hiển thị các phương thức truy vấn khai báo, chủ yếu là vì lý do khó lý giải về phương thức HTTP chính xác để hỗ trợ triển khai tùy chỉnh vì chúng tôi không thể đoán được điều gì đang xảy ra bên trong phương thức.
Cách được đề xuất để hiển thị các phương pháp truy vấn kho lưu trữ tùy chỉnh bằng cách sử dụng bộ điều khiển tùy chỉnh với @RequestMapping
phù hợp với mục đích của bạn, gọi kho lưu trữ và sử dụng PersistentEntityResourceAssembler
có thể đưa vào phương thức trình xử lý để tạo ra một PersistentEntityResource
để quay lại.