Tôi đã sử dụng Loopback để tạo API. Các tài liệu nói chung là thực sự tốt nhưng không thực sự trả lời câu hỏi của tôi về những điều sau đây: làm thế nào để tôi mở rộng (không thay thế) một xây dựng trong mô hình?Loopback - Cách dễ nhất để mở rộng mô hình tích hợp
Thông tin đầy hứa hẹn nhất đến từ this page - nó chỉ định cách xây dựng một lớp từ một lớp khác, thông qua kế thừa. Điều này rất hữu ích nhưng không lý tưởng - tôi muốn tạo mối quan hệ với các mô hình tùy chỉnh từ các mô hình cổ phiếu, ví dụ - "Vai trò" nên có nhiều "Quyền".
Trang tôi đề cập cũng hiển thị tệp Javascript, nằm ở số common/models/<modelName>.js
, trong đó tiểu bang bạn có thể "mở rộng" mô hình dựa trên thuộc tính và tùy chọn bạn cung cấp. Máy chủ không bao giờ dường như nhấn tập tin ... Ví dụ: - Tôi đặt một tập tin trong common/models/role.js
với nội dung sau:
var properties = {
exampleProperty: {type: String, required: true}
};
var user = loopback.Model.extend('Role', properties);
console.log('test');
Trước hết, nó dường như không nhấn tập tin nào cả (không console.log
đầu ra được). Thứ hai, rõ ràng là vì điểm đầu tiên, nó không mở rộng mô hình với các thuộc tính mà tôi đã tạo ra.
Tôi có thiếu một cái gì đó rõ ràng hoặc là tài liệu chỉ đơn giản vậy?
cùng một vấn đề ở đây. các tài liệu dường như không hoàn chỉnh khi giải thích cách mở rộng các mô hình nội tuyến - chúng dường như đề xuất u có thể mở rộng, nhưng giống như u, tôi thấy rằng việc sử dụng ví dụ, user.json/.js không phải là một tùy chọn. bạn đã thử kế thừa như đề xuất ở đây? Tôi lo ngại nó sẽ phá vỡ thẻ truy cập hoặc thường gây ra nhiều vấn đề hơn. –
Xin chào, có thừa kế là con đường để đi. Nếu bạn mở rộng lớp 'User' cơ sở, bạn sẽ nhận được cùng một phương thức và bằng cách nào đó nó cũng tìm ra các công cụ accessToken cho bạn. – freshnode