[MUSIC]
Trong bài tập trước, chúng tôi đã có các máy chủ loopback của chúng tôi lên đến một giai đoạn nhất định.
Bây giờ chúng ta có thể kết nối các máy chủ loopback của chúng tôi với cơ sở dữ liệu mongolab,
cơ sở dữ liệu hoạt động như nguồn dữ liệu cho các máy chủ loopback của chúng tôi.
Chúng tôi cũng xác định danh sách kiểm soát truy cập để kiểm soát quyền truy cập vào bán kính,
phần còn lại là ở đây, trong các bộ phận với máy chủ loopback của chúng tôi.
Trong bài tập này, chúng ta sẽ khám phá các mối quan hệ loopback.
Bây giờ chúng ta có thể định nghĩa các mô hình và xác định mối quan hệ giữa các mô hình.
Vì vậy, ví dụ, chúng ta hãy lấy ví dụ về một nhận xét.
Khi bạn đăng bình luận về một món ăn, nhận xét có liên quan đến món ăn.
Một bình luận thuộc về một món ăn.
Tương tự, một nhận xét được đăng bởi một người dùng cụ thể.
Vì vậy, nhận xét đã thuộc về mối quan hệ với người dùng cụ thể này.
Bây giờ, khi bạn nhìn vào mối quan hệ theo hướng ngược lại,
một món ăn có thể có nhiều ý kiến liên quan đến nó, và
tương tự, một người dùng có thể đã đăng nhiều ý kiến.
Vì vậy, đây là những loại mối quan hệ lớn nhất mà bạn có thể xác định giữa
các mô hình khác nhau trong máy chủ vòng lặp của chúng tôi.
Ngoài ra chúng tôi sẽ xem xét việc sử dụng một vòng lặp hỗn hợp,
cho phép chúng tôi thêm các thuộc tính bổ sung cho các mô hình của chúng tôi.
Vào cuối bài tập này, bạn sẽ có một máy chủ loopback khá nhiều hoàn chỉnh,
mà sau đó chúng tôi có thể kết nối với khách hàng góc cạnh của chúng tôi và
có thể sử dụng nó như là back-end cho khách hàng góc cạnh của chúng tôi.
Để tiếp tục với bài tập, trong thư mục của máy chủ loopback của chúng tôi, chúng
ta hãy tạo một mô hình mới cho một nhận xét.
Vì vậy, mô hình này sẽ định nghĩa là
bình luận, và trong trường hợp này mô hình đó cũng được lưu
trong MongoDB và sẽ là một mô hình liên tục,
và chúng tôi sẽ phơi bày bình luận thông qua API REST và
thư mục model nằm trong thư mục chung và cho
nhận xét này chúng tôi sẽ có hai thuộc tính liên kết với nó.
Và tài sản đầu tiên là Rating.
Đó là loại Số.
Điều này là bắt buộc và giá trị mặc định, tôi sẽ để lại điều đó như 5.
Và thuộc tính thứ hai sẽ là Comment, đó là của chuỗi loại.
Điều này là bắt buộc và giá trị mặc định là trống.
Vì vậy, mỗi bình luận sẽ có hai thuộc tính, xếp hạng và bình luận,
liên kết với nó.
Ngoài ra, chúng ta cần phải xác định mối quan hệ giữa bình luận và
người dùng đang gửi bình luận, và cũng là bình luận và
món ăn mà nhận xét này được liên kết.
Tương tự như vậy, chúng ta đã thấy trong bài tập trước đó rằng họ đã thêm
mục yêu thích của họ cho một người dùng.
Vì vậy, để xác định các mục yêu thích, hãy để tôi xác định một mô
hình, và tên mô hình đó là yêu thích và điều này cũng được lưu trong MongoDB,
và đây cũng là một PersistedModel, và
chúng tôi sẽ phơi bày yêu thích cho phần còn lại API và nằm trong thư mục chung.
Bây giờ bản thân yêu thích không cần bất kỳ tài sản cụ thể nào bởi vì tất cả
các yêu thích làm là liên kết người dùng cụ thể với món ăn cụ thể này.
Vì vậy, yêu thích ở đây sẽ được sử dụng đơn giản như một cầu nối giữa người dùng
và món ăn.
Vì vậy, chúng tôi sẽ sử dụng yêu thích như một cách xác định mối quan hệ giữa món ăn và
người dùng.
Vì vậy, nó không có bất kỳ đặc tính cụ thể.
Vì vậy, bây giờ chúng tôi đã thêm hai mô hình vào máy chủ loopback của chúng tôi.
Bây giờ, chúng ta hãy bắt đầu xác định các mối quan hệ mô hình.
Bây giờ như tôi đã giải thích trước đó,
có nhiều loại mối quan hệ mô hình mà chúng ta có thể xác định.
Hãy bắt đầu với việc xác định mối quan hệ giữa một món ăn và một bình luận.
Vì vậy, để xác định một mô hình trong loopback, chúng ta sẽ nói, mối quan hệ lb.
Và khi mối quan hệ đến,
chúng ta cần xác định mô hình từ đó để tạo ra mối quan hệ.
Vì vậy, trong trường hợp đầu tiên, chúng ta sẽ tạo ra một mối quan hệ giữa một món ăn.
Vì vậy, từ các món ăn, và một món ăn có thể có nhiều ý kiến liên quan đến nó,
vì vậy đó
là lý do tại sao các loại mối quan hệ có nhiều và được kết hợp với một bình luận và tên tài sản cho
các mối quan hệ tôi sẽ để lại nó như là mặc định với chỉ bình luận với
một chữ cái nhỏ c. cụ thể khóa ngoại tùy chỉnh nếu chúng ta muốn.
Nếu chúng ta không, loopback sẽ tự động gán khóa ngoại,
mà sẽ không là gì ngoài các nhận xét và một id liên kết với nó.
Vì vậy, nó sẽ nhìn lại để xác định nó một cách tự động.
Chúng tôi cũng có thể có thông qua các mô hình, mà trong trường hợp này là không áp dụng.
Một mô hình thông qua sẽ cho phép chúng tôi xác định mối quan hệ với một và với một mô hình khác và
trong trường hợp này, chúng tôi không có mối quan hệ như vậy, vì vậy chúng tôi sẽ chỉ nói không và
chúng tôi sẽ không làm tổ API REST, và cũng có thể,
chúng tôi sẽ vô hiệu hóa mối quan hệ từ được bao gồm.
Và như vậy, chúng tôi đã chỉ
định rằng việc vô hiệu hóa mối quan hệ từ được bao gồm là không.
Sau đó bạn sẽ thấy lý do tại sao điều này là quan trọng.
Chúng tôi sẽ có một cách bao gồm thông tin từ một
mô hình vào một mô hình khác bằng cách thực hiện một bao gồm có.
Vì vậy, đó là điều mà chúng tôi đã yêu cầu không được ngăn chặn.
Bây giờ tương tự, chúng ta có thể xác định mối quan hệ tiếp theo
giữa bình luận và các món ăn.
Vì vậy, khi bạn xác định một mối quan hệ với các bình luận và các món ăn, vì vậy
hãy để tôi nói nó lb mối quan hệ, và bây giờ chúng ta sẽ xác định mối quan hệ giữa các bình luận.
Và kể từ khi một nhận xét chỉ có thể thuộc về một món ăn cụ thể, vì vậy
chúng tôi sẽ xác định nó thuộc về một mối quan hệ, và điều này
thuộc về các món ăn ở đây và tên tài sản cho mối quan hệ sẽ là món ăn.
Và chúng tôi sẽ không sử dụng khóa ngoại tùy chỉnh,
chúng tôi sẽ cho phép mối quan hệ được sử dụng trong các API REST.
Trên thực tế chúng tôi không muốn điều đó, vì vậy tôi nên đã gõ không cho điều đó,
nhưng tôi sẽ chỉ đi và chỉnh sửa các mối quan hệ được tạo ra trong mã của tôi ở đó.
Vì vậy, tôi có thể đi vào tập tin comment.jason và
chỉ cần thay đổi điều này từ một yes để một no trong đó,
Tôi sẽ làm điều đó bởi vì tôi không muốn nó được lồng nhau tiếp theo.
Vì vậy, hãy để tôi tiếp tục và
thực hiện thay đổi đó trong bình luận gọi là Jason trước khi tôi quên làm điều đó.
Và sau đó mở bình luận gọi là Jason.
Và bạn thấy rằng trong bình luận gọi là Jason chúng ta có mối quan hệ này ở đây và
sau đó tôi sẽ cắt bỏ nó ra bởi vì tôi không muốn làm tổ đó được.
Đó là một sai lầm mà tôi đã thực hiện trong khi gõ vào, vì vậy tôi sẽ xóa nó.
Mối quan hệ tiếp theo mà tôi sẽ xác định là giữa nhận xét và
khách hàng.
Hãy để tôi một lần nữa, gõ mối quan hệ lb ở đây.
Vì vậy, chúng tôi sẽ xác định mối quan hệ giữa nhận xét và khách hàng.
Một nhận xét thuộc về một khách hàng như chúng ta mong đợi,
và, Ở đây cho phép tôi
nhập rõ ràng, Một khóa ngoại tùy chỉnh.
Tôi chỉ làm điều này để minh họa cho bạn rằng tôi có thể
xác định một khóa ngoại cụ thể ở đây.
Tôi sẽ không làm tổ, và tôi sẽ không vô hiệu hóa ở đây.
Vì vậy, đây là mối quan hệ mà tôi sẽ xác định giữa nhận xét và
khách hàng.
Tiếp theo, Hãy để tôi xác định mối quan hệ giữa khách hàng và nhận xét.
Vì vậy, ở đây, từ một khách hàng, một khách hàng có nhiều ý kiến,
và tên tài sản của họ tôi sẽ nhập như ý kiến.
Và sau đó, tôi sẽ xác định khóa ngoại là CustomerID.
Và tôi không yêu cầu một mô hình thông qua ở đây, tôi sẽ không làm tổ và tôi sẽ không vô hiệu hóa.
Vì vậy, bây giờ tôi đã xác định tất cả các mối quan hệ giữa các ý kiến và
khách hàng, và các ý kiến và các món ăn.
Bây giờ, cùng một điều chúng ta hãy làm việc trên các mục yêu thích.
Bây giờ, cho các mục yêu thích, Hãy để tôi xác
định mối quan hệ giữa các món ăn và các mục yêu thích.
Vì vậy, một món ăn có thể đã được yêu thích cho nhiều người dùng,
vì vậy nó có nhiều mối quan hệ với một yêu thích.
Và chúng tôi sẽ sử dụng yêu thích ở đó, và
chúng tôi sẽ không cần một mô hình thông qua và không có và không.
Vì vậy, bây giờ chúng tôi đã xác định nó có nhiều mối quan hệ giữa món ăn và
một yêu thích.
Bây giờ hãy để tôi xác định một mối quan hệ giữa một món ăn yêu thích và một món ăn.
Vì vậy, để xác định mối quan hệ giữa các yêu thích và
các món ăn cho phép tôi nói yêu thích thuộc về món ăn, và
chúng tôi sẽ sử dụng các món ăn và không có chìa khóa nước ngoài, không lồng nhau.
Và chúng tôi sẽ không vô hiệu hóa mối quan hệ từ việc được đưa vào.
Bây giờ, chúng ta sẽ phải xác định mối quan hệ giữa
một yêu thích và một khách hàng.
Vì vậy, chúng tôi sẽ nói yêu thích thuộc về một khách hàng và,
Chúng tôi sẽ xác định nó khóa ngoại như một CustomerID.
Chúng tôi sẽ không cho phép làm tổ API REST và chúng tôi sẽ không vô hiệu hóa.
Bây giờ mối quan hệ cuối cùng, Là giữa khách hàng và yêu thích.
Vì vậy, bây giờ chúng ta sẽ xác định mối quan hệ giữa khách hàng có nhiều
, Favorites, và điều này,
tôi sẽ xác định CustomerID là khóa ngoại, tôi không yêu cầu một mô hình thông qua,
và tôi sẽ không cho phép làm tổ và tôi sẽ không vô hiệu hóa bất cứ điều gì.
Vì vậy, đó là nó, chúng tôi đã xác định tất cả các mối quan hệ mà chúng tôi cần
giữa các ý kiến và khách hàng và các món ăn.
Giữa các mục yêu thích, khách hàng, và các món ăn.
Bây giờ, hãy kiểm tra việc sử dụng một mixin.
Bây giờ, mixin này mà tôi sẽ sử dụng với máy chủ Loopback của tôi là
một mixin mà thêm timestamps cho bất cứ điều gì được lưu hoặc cập nhật.
Vì vậy, nhớ lại rằng trong máy chủ Express của chúng tôi, chúng tôi đã tạo ra tại và
cập nhật tại thêm tự động bằng cách sử dụng Mongoose.
Bây giờ cho Loopback, tôi cần phải sử dụng
mixin cụ thể này được gọi là Lookback ds timestamp mixin.
vì vậy TosDo rằng tôi phải đầu tiên cài đặt mixin vào dự án của tôi.
Vì vậy, tôi sẽ nói npm cài đặt
loopback-ds-timestamp-mixin —save,
và cài đặt mô-đun nút này.
Và một khi mô-đun nút này được cài đặt, vì vậy như bạn có thể thấy,
đây là phiên bản số 3.4.1 mà tôi đang sử dụng.
Khi mixin này được cài đặt, tôi cần phải đi vào và
kích hoạt việc sử dụng mixin này trong mô hình của tôi.
Để làm điều đó cho phép đi đến mã, trong mã cho phép tôi đầu tiên mở
mô hình xung đột liền kề, đó là trong thư mục máy chủ.
Vì vậy, trong mô hình confi.json nếu bạn đi lên đây bạn sẽ thấy những
mixins được định nghĩa ở đây.
Vì vậy, chúng tôi có mixins từ loopback chung và loopback server.
Bây giờ tôi sẽ thêm vào mixin mới mà tôi vừa thêm vào đây.
Vậy, mixin này ở trong.. /node_modules.
Vì vậy, đây là trong thư mục module nút ngay tại đó.
/loopback-ds-timestamp-mixin.
Điều này cho phép máy chủ Loopback của tôi để sử dụng mixin này trong máy chủ của tôi.
Bây giờ không chỉ điều này, tôi cần phải xác định cho
tất cả các mô hình mà tôi muốn mixin này được bao gồm.
Vì vậy, tôi sẽ đi đến thư mục chung đó, và
trong thư mục chung, chúng tôi sẽ chỉnh sửa tập tin bình luận đó và
trong tập tin bình luận json, chúng tôi sẽ thêm vào mixin.
Vì vậy, sau khi các thuộc tính, tôi sẽ thêm vào mixin như
đồng bộ trong dấu ngoặc kép, bạn sẽ nói mixins.
:, Và, ở đó,
và bên trong mixins chúng ta sẽ thấy
TimestAmp, true.
Điều này tương tự tôi cần phải dán vào một số các mô hình khác vì vậy
hãy để tôi chỉ cần sao chép này.
Vì vậy, chúng tôi sẽ nói mixins Timestamp đúng trong bình luận .json.
Sau đó, chúng tôi sẽ đi đến dishes.json và
sau đó chúng tôi sẽ thêm điều này cũng để dishes.json và
sau đó họ sẽ đi đến favorite.json, và
sau đó thêm vào favorite.json.
Chúng tôi sẽ thêm nó vào readers.json, Và
chúng tôi sẽ thêm nó vào promotions.json.
Và lưu tất cả các thay đổi.
Bây giờ chúng tôi sẽ cấu hình một vài danh sách kiểm soát truy cập hơn, vì vậy
đi đến thiết bị đầu cuối cho phép tôi gõ lb acl để cấu hình một số danh sách kiểm soát truy cập.
Vì vậy, ở đây cho các món ăn,
tôi sẽ chỉ định cho tất cả các phương pháp và thuộc tính quyền
Chỉ có thể được thực hiện bởi người dùng với vai trò quản trị viên.
Vì vậy, đó là kiểm soát truy cập đầu tiên mà tôi cấu hình cho
các món ăn, sau đó tôi làm tương tự cho các nhà lãnh đạo.
Tất cả các phương pháp và thuộc tính, viết, khác,
vai trò quản trị một cách rõ ràng cấp quyền truy cập.
Sau đó, đối với các chương trình khuyến mãi cũng
giống nhau, tất cả các phương pháp và
thuộc tính, viết, và khác,
Vai trò rõ ràng cấp quyền truy cập, bởi vì bạn chỉ muốn người quản trị
có thể thực hiện bất kỳ thay đổi đối với các món ăn, chương trình khuyến mãi hoặc nhà lãnh đạo.
Bây giờ cho các ý kiến, các ý kiến có thể được đăng bởi bất kỳ người dùng đã đăng ký.
Vì vậy, đối với các ý kiến, hãy để tôi xác định ACL cho các ý kiến.
Chúng tôi sẽ nói bình luận, tất cả các phương pháp và
thuộc tính, tất cả các loại, tất cả người dùng, một
cách rõ ràng từ chối truy cập.
Bởi vì chúng ta không muốn họ có thể làm được mọi việc.
Bây giờ, chúng ta hãy mở chỉ một số hoạt động được kích hoạt bởi người dùng.
Vì vậy, để nhận xét, tất cả các phương pháp và
thuộc tính, chúng ta sẽ nói đọc hoạt động.
Hoạt động đọc cho các ý kiến sẽ chỉ là một người dùng xác thực.
Vì vậy, chỉ những người dùng đã đăng nhập mới có thể đọc nhận xét.
Bây giờ tương tự, hãy để tôi xác định cho,
Nhận xét, một phương pháp duy nhất, và
tạo ra, ai có thể tạo ý kiến?
Bất kỳ người dùng xác thực nào, bất kỳ người dùng xác thực nào cũng có thể tạo nhận xét.
Vì vậy, chúng tôi sẽ rõ ràng cấp cho họ quyền truy cập, bây giờ,
người cuối cùng cho ý kiến, Chúng tôi sẽ nói cho
nhận xét, tất cả các phương pháp và thuộc tính.
Viết, có nghĩa là, ai được phép viết bình luận?
Chỉ người dùng sở hữu đối tượng đó mới có thể thay đổi nhận xét.
Vì vậy, chỉ có người dùng đã gửi nhận xét mới có thể thay đổi nhận xét,
hoặc chỉnh sửa hoặc xóa nhận xét, vì vậy đó là những gì chúng tôi sẽ cho phép.
Cùng một tập hợp các hoạt động, hãy áp dụng chúng vào mục yêu thích.
Vì vậy, đối với mục yêu thích, vì chúng tôi đã không thêm
bất kỳ điều khiển truy cập nào, vì vậy đối với mục yêu thích,
tất cả các phương pháp và thuộc tính, tất cả các loại,
tất cả người dùng, rõ ràng từ chối truy cập đó.
Đối với mục yêu thích, chúng tôi sẽ xác định cho
tất cả các phương thức và thuộc tính, đọc,
chỉ cho người dùng sở hữu đối tượng đó.
Vì vậy, chỉ có người dùng mới có thể đọc
mục yêu thích của riêng mình, không người dùng nào khác có thể xem mục yêu thích của riêng mình.
Bây giờ thứ ba là tạo ra các mục yêu thích,
vì vậy để tạo ra các mục yêu thích, chúng tôi sẽ nói cho
yêu thích, một phương pháp duy nhất, tạo ra,
bất kỳ người dùng xác thực nào cũng có thể tạo ra một nhận xét.
Và cuối cùng, đối với một yêu thích, tất cả các phương pháp và
thuộc tính, thao tác ghi, chỉ dành cho người dùng sở hữu đối tượng đó.
Vì vậy, chỉ có người dùng đã nhập yêu thích cho chính mình hoặc chính
mình mới có thể chỉnh sửa hoặc xóa những mục yêu thích đó, đó là nó.
Vì vậy, bây giờ chúng tôi đã thiết lập tất cả các điều khiển truy cập và
tất cả các mối quan hệ khác nhau cho ứng dụng của chúng tôi.
Bây giờ hãy bắt đầu API còn lại của máy chủ, và
sau đó khám phá một số chi tiết này.
Bây giờ, đi đến ứng dụng của chúng tôi trong trình duyệt, vì vậy
chúng tôi sẽ đi đến LoopBack Explorer trong trình duyệt ở đây.
Trong LoopBack Explorer, những gì tôi sẽ làm đầu tiên là đăng nhập với tư cách quản trị viên.
Vì vậy, chúng tôi sẽ đăng nhập với tư cách quản trị viên bằng cách vào /khách hàng/đăng nhập.
Và sau đó ở đây chúng tôi sẽ nhập tên người dùng
, Quản trị viên,
Mật khẩu, Mật khẩu, Và đăng nhập chính mình,
và một khi chúng tôi đã đăng nhập, tôi sẽ chỉ sao chép ID này,
bởi vì đây là mã thông báo truy cập.
Và tôi sẽ đi vào đây, và sau đó thiết lập mã thông báo truy cập với mã thông báo
truy cập mới mà tôi vừa thu được, sau đó,
Hãy để tôi gửi một vài món ăn cho máy chủ của tôi, vì
vậy bây giờ tôi đăng nhập như một quản trị viên,
tôi sẽ có thể gửi các món ăn cho máy chủ của tôi.
Vì vậy, tôi sẽ mở bài đăng, và nhớ lại rằng tôi đã cung cấp cho bạn các tập tin DB.json,
vì vậy chúng tôi chỉ có thể sao chép và dán các món ăn vào trường dữ liệu ở đây.
Đây là món ăn đầu tiên của tôi, và thời điểm tôi đăng,
nó sẽ trở lại với thông tin món ăn ở đây.
Và lưu ý rằng nó sẽ tự động thêm vào các trường CreateDat và UpdateDat ở đây.
Đây là món thứ hai của tôi, vì vậy cuối cùng, tôi đã hoàn thành việc nhập tất cả các món ăn,
tất cả các nhà lãnh đạo, và tất cả các chương trình khuyến mãi, và tất cả chúng tôi đã hoàn thành.
Vì vậy, bây giờ chúng ta hãy đi trước và
sau đó đăng ký một khách hàng mới vào hệ thống.
Vì vậy, để làm điều đó, hãy để tôi loại bỏ
mã thông báo truy cập này, và sau đó chúng tôi sẽ đăng ký một khách hàng mới vào hệ thống.
Vì vậy, để làm điều đó, chúng tôi sẽ đi để đăng khách hàng, và sau đó cho các dữ liệu, cho
phép tôi chỉ cần nhấp vào giá trị ví dụ này ở đây, và sau đó đăng nó ở đây.
Và đối với dữ liệu, tên đầu tiên,
hãy để tôi đăng ký bản thân mình với tên của tôi.
Vì vậy, đây sẽ là một
người dùng không quản trị mà tôi đang đăng ký, và,
Và email này xác minh tôi nên loại bỏ điều này từ đây, Nhưng tôi nên bao gồm,
trường mật khẩu ở đây, Vì vậy mà tôi có thể đăng ký người dùng.
Vì vậy, tôi đang đăng ký một người dùng bình thường mới ở đây.
Vì vậy, khi tôi đăng ký nó trở lại để xác nhận rằng
người dùng đăng ký mới này được thêm vào, và cũng cung cấp cho tôi một ID cho người dùng đó.
Bây giờ hãy để tôi đăng nhập với tư cách là người dùng đã đăng ký này và sau đó đăng một vài ý kiến.
Vì vậy, để đăng nhập như người dùng đã đăng ký, tôi sẽ đi xuống để đăng nhập khách hàng,
và cho tên người dùng, tôi sẽ nhập tên của tôi và
mật khẩu và sau đó khi tôi đăng nhập, nó sẽ trở lại và cung cấp cho tôi một ID.
Bây giờ lưu ý rằng người dùng cụ thể này là một người dùng thông thường không phải là người quản trị,
vì vậy người dùng này chỉ có thể đăng nhận xét và chỉnh sửa nhận xét của riêng mình.
Và hoặc sau yêu thích và chỉnh sửa mục yêu thích của riêng mình.
Vì vậy, khi bạn đăng người dùng, bạn sẽ thấy rằng nó là UserID trả về đây,
shis là ID cho người dùng.
Vì vậy, chúng tôi sẽ cần điều này bất cứ khi nào chúng tôi gửi ý kiến hoặc
bất cứ khi nào chúng tôi gửi yêu thích của chúng tôi.
Vì vậy, để đăng bình luận cho người dùng này, vì vậy
để đăng bình luận, hãy để tôi đăng một vài ý kiến thay mặt cho người dùng này.
Vì vậy, chúng tôi sẽ đi đến Nhận xét, và sau đó chúng tôi sẽ đăng một số nhận xét ở đây.
Vì vậy, để đăng bình luận như bạn nhận thấy,
chúng tôi cần cung cấp ba mẩu thông tin.
Chúng ta cần cung cấp CustomerID, DishesID, đánh giá và bình luận.
Vì vậy, đối với CustomerID, chúng tôi chỉ đăng nhập, vì vậy
nếu bạn đi đến khách hàng và xuống dưới đây ở dưới cùng.
Chúng tôi sẽ nhận được CustomerID ở đây, vì vậy hãy để tôi sao chép UserID từ đây.
Và sau đó đi lên phần đăng bình luận và
sau đó dán ID khách hàng vào đó.
Bây giờ hãy để tôi đi tìm một cái đĩa.
Vì vậy, nếu bạn đi đến, Món ăn và sau đó bạn làm một get trên các món ăn,
bạn sẽ nhận được tất cả các món ăn có trong hệ thống.
Vì vậy, từ này cho phép tôi chọn,
món ăn đầu tiên, vì vậy tôi sẽ chỉ lấy ID của món ăn.
Sau đó, để đăng bình luận, chúng tôi sẽ chỉ đi đến Nhận xét,
Bài nơi chúng tôi đang soạn bình luận của chúng tôi.
Và sau đó tôi sẽ dán ID của món ăn vào đó.
Và cho đánh giá, Tôi sẽ thay đổi đánh giá này để 4 và,
Chỉ cần đăng, Bình luận này,
vì vậy tôi đã đăng một bình luận cho món ăn đặc biệt này.
Hãy để tôi đăng thêm một bình luận cho một món ăn khác.
Vì vậy, hãy để tôi nắm lấy món thứ hai này.
Vì vậy, đây là ID của món ăn thứ hai, vì vậy, một lần nữa, quay lại Nhận xét.
Để tôi thay đổi DisHid ở đây.
Và sau đó, Hãy để tôi thay đổi ý kiến để
bạn thấy rằng đây là một bình luận khác nhau cho một món ăn khác nhau.
Khi tôi đăng bình luận, bạn sẽ thấy rằng nó sẽ trở lại với câu trả lời này ở đây,
với đánh giá và món ăn cụ thể và ID khách hàng và như vậy.
Vì vậy, bây giờ tôi đã đăng hai ý kiến cho hai món ăn khác nhau ở đây.
Hãy để tôi, Làm cho hai món ăn yêu thích của tôi.
Vì vậy, để làm điều đó, để tôi đi đến mục yêu thích.
Đi xuống mục yêu thích.
Hãy để tôi đăng một vài mục yêu thích.
Vì vậy, để đăng một yêu thích một lần nữa, tôi đi vào bài yêu thích ở đây.
Sau đó, tôi bấm vào điều này và sau đó tôi sẽ dán vào một DisHid,
cho CustomerID, cho phép tôi chỉ cần đi đến khách hàng ở đây,
nơi tôi đăng nhập vào khách hàng.
Vì vậy, chúng tôi sẽ nhận được UserID từ đó.
Và đây là một CustomerID, vì vậy hãy để tôi đi đến mục yêu thích.
Và sau đó, Trong mục yêu thích
cho phép tôi kiểm tra CustomerID ở đây, và sau đó đăng bài này vào mục yêu thích của tôi.
Vì vậy, khi tôi đăng nó vào mục yêu thích của tôi, nó trả lời lại với điều này để
bạn có thể thấy rằng DisHid và CustomerID và FavoriteID đã được đăng ở đây.
Hãy để tôi gửi thêm một món ăn để yêu thích của tôi vì vậy hãy để tôi đi đến,
Món ăn ở đây tôi có một món ăn.
Vì vậy, để tôi sao chép, ID của món ăn và đi đến mục yêu thích của tôi và
sau đó thay thế ID của dishe với món ăn mới đó, và sau đó đăng nó.
Vì vậy, bây giờ tôi nên có hai mục yêu thích trong nhóm của tôi.
Tuyệt vời, vì vậy bây giờ chúng tôi có một vài yêu thích,
một loạt các món ăn, một vài ý kiến, tất cả được đăng trong.
Bây giờ làm thế nào là hữu ích?
Hãy để tôi, Đóng tất cả điều này và sau đó sẽ cho bạn thấy làm thế nào điều này có thể hữu ích.
Vì vậy, bây giờ khi tôi nhận được các món ăn, ví dụ,
khi tôi muốn quên một món ăn cụ thể.
Để tôi lấy món ăn đầu tiên ở đây, để tôi sao chép ID của món ăn và,
tôi có thể lấy món ăn cụ thể đó.
Vì vậy, ở đây bạn thấy rằng tôi sẽ /Dishes/ID như vậy
ở đây, khi tôi muốn lấy món ăn cụ thể.
Tôi có thể đặt DisHd
ở đó và sau đó thử nó ra và sau đó tôi lấy DisHd ở đây.
Bây giờ, nếu tôi muốn bao gồm các ý kiến từ các món ăn, sau đó trong bộ lọc,
tôi nên gõ trong bao gồm trong dấu ngoặc kép và
sau đó trong dấu ngoặc đơn tôi chỉ
định, Tên của,
Các mối quan hệ mà tôi muốn bao gồm vào đó,
vì vậy khi tôi nói bao gồm ý kiến.
Vì vậy, điều này giống như người Mông Cổ cư trú, nó hoạt động tương tự.
Vì vậy, khi tôi nói bao gồm ý kiến và sau đó lấy các món ăn,
chú ý rằng khi các món ăn được lấy ra,
Ở đây, bạn có được các món ăn nhưng cũng có thể bạn nhận được một mảng Các ý kiến ở đây.
Vì vậy, đó là cách bạn có thể điền vào các chi tiết từ mối quan hệ
mà bạn có với một yếu tố khác ở đây.
Bây giờ, tương tự, đi đến bình luận, ví dụ.
Trong các ý kiến cũng, khi tôi lấy các ý kiến, tôi có thể chỉ định trong bộ lọc.
Vì vậy, khi tôi chỉ nói nhận xét GET, nó sẽ mang
lại tất cả các ý kiến đã được đăng.
Bây giờ, nếu tôi muốn điền vào thông tin DisHid và CustomerID, tôi có thể nói bộ lọc.
Trong bộ lọc, tôi có thể nói bao gồm.
Và sau đó trong ngoặc, tôi có thể nói các món ăn bởi vì
đó là mối quan hệ mà tôi đã xác định trong các ý kiến và
các món ăn, và sau đó là món ăn và khách hàng.
Và khi tôi lấy thông tin này, bạn sẽ thấy rằng trong các ý kiến trả về,
cho mỗi bình luận, bạn sẽ nhận thấy rằng nhận xét được đưa ra và
sau đó thông tin món ăn tương ứng cũng được điền vào, và
thông tin khách hàng tương ứng cũng được điền vào cho mỗi bình luận.
Vì vậy, theo cách đó, bây giờ chúng ta có thể điền vào hai mối quan hệ mà chúng ta đã xác định từ
các món ăn tự động ở đây, như được trình bày ở đây.
Tương tự như vậy, đối với các mục yêu thích,
khi chúng tôi truy xuất các mục yêu thích,
chúng tôi sẽ nói mục yêu thích và một ID cụ thể ở đây.
Và sau đó chúng ta có thể lọc, để
yêu thích cụ thể có thể được lấy ra.
Bạn không thể truy xuất tất cả các mục yêu thích vì chúng có thể là mục yêu thích từ những
người dùng khác cũng trong danh sách đó, vì vậy chúng tôi sẽ không thể thực hiện một GET trên tất cả các mục yêu thích.
Nhưng thay vào đó, khi chúng tôi lấy lại điều này, bạn có thể yêu cầu
thông tin được điền vào đây dựa trên các mối quan hệ.
Vì vậy, chúng ta có thể nói, trong trích dẫn, (“include”: và viết dấu ngoặc vuông.
Chúng ta có thể nói ["món ăn”, “khách hàng"]),
Và lấy thông tin.
Vì vậy, bạn sẽ nhận thấy rằng ở đây, trong Response Body,
bạn sẽ nhận được món ăn yêu thích, nhưng cũng là món ăn tương ứng và
thông tin của khách hàng tương ứng được điền vào đây.
Vì vậy, đó là cách chúng tôi có thể truy xuất thêm thông tin
từ trang web máy chủ của chúng tôi theo yêu cầu.
Với điều này, chúng tôi hoàn thành bài tập này.
Trong bài tập này, tôi đã chứng minh cho bạn làm thế nào chúng ta có thể xác định các mối quan hệ khác nhau
và sau đó có thể truy xuất thông tin, và cũng sử dụng
bộ lọc bao gồm này để bao gồm các thông tin bổ sung của mối quan hệ đó
vào tài liệu khi bạn truy xuất tài liệu hoặc một tập hợp các tài liệu.
Với điều này, chúng tôi hoàn thành bài tập này.
Vì vậy, trong ba bài tập mà chúng tôi đã thực hiện cho đến nay với LoopBack, tôi đã
minh họa các khía cạnh khác nhau của cách bạn có thể cấu hình và xây dựng máy chủ LoopBack của bạn.
Với điều này, chúng tôi hoàn thành bài tập này.
Đây là thời điểm tốt
để bạn thực hiện một nhận xét GET với thông điệp LoopBack quan hệ.
[ NHẠC]