Tôi có tình huống cần API để kích hoạt sự kiện phía dịch vụ, không cần thông tin (ngoài xác thực) từ ứng dụng khách và không cần phải trả lại gì bởi máy chủ. Vì điều này không phù hợp với tương tác CRUD/Tài nguyên chuẩn, tôi có nên coi đây là chỉ báo rằng tôi đang làm điều gì đó sai, hoặc có một mẫu thiết kế RESTful để xử lý các điều kiện này không?Cách yên tĩnh để kích hoạt sự kiện phía máy chủ
Trả lời
REST xác định bản chất của giao tiếp giữa máy khách và máy chủ. Trong trường hợp này, tôi nghĩ rằng vấn đề là không có thông tin để chuyển giao.
Có lý do nào để khách hàng cần bắt đầu điều này không? Tôi muốn nói sự kiện phía máy chủ của bạn phải hoàn toàn tự chứa trong máy chủ. Có lẽ khởi động định kỳ với một cuộc gọi cron?
Khách hàng của bạn có thể chỉ:
POST /trigger
Để mà máy chủ sẽ phản ứng với một 202 Accepted
.
Bằng cách đó, yêu cầu của bạn vẫn có thể chứa các tiêu đề xác thực phù hợp và API có thể được mở rộng trong tương lai nếu bạn cần khách hàng cung cấp thực thể hoặc cần trả lại thông tin về cách truy vấn trạng thái sự kiện .
Không có gì "không yên tĩnh" về những gì bạn đang cố gắng làm ở đây; Nguyên tắc REST không phải tương quan với các hoạt động CRUD về tài nguyên.
Các spec for 202 nói:
Thực thể trở lại với phản ứng này nên bao gồm một dấu hiệu của tình trạng hiện tại của yêu cầu và hoặc là một con trỏ đến một tình trạng giám sát hoặc một số ước tính khi người dùng có thể mong đợi yêu cầu được đáp ứng .
Bạn không có nghĩa vụ gửi bất kỳ điều gì trong phản hồi, với "NÊN" trong định nghĩa.
- 1. Pusher trong Rails: "Unknown auth_key" - phía máy chủ không kích hoạt sự kiện
- 2. sự kiện phía máy chủ (cho núm vú giả :))
- 3. Sự kiện GWT phía máy chủ; thay thế cho Vaadin
- 4. Tôi nên triển khai "khoảng thời gian yên tĩnh" như thế nào khi tăng sự kiện?
- 5. Cách đóng các sự kiện Sự kiện máy chủ gửi
- 6. Kích hoạt sự kiện onItemDisclosure gây ra sự kiện itemtap để kích hoạt
- 7. Sự kiện máy chủ ASP.net được xử lý phía máy khách
- 8. Sự kiện ASP.Net Session_Start không kích hoạt
- 9. Cần gọi sự kiện phía máy chủ bằng cách sử dụng __doPostBack
- 10. Socket.io kích hoạt nhiều sự kiện
- 11. Máy chủ SQL BẬT DELETE Kích hoạt
- 12. AjaxFileUpload không kích hoạt Sự kiện OnUploadComplete
- 13. Sắp xếp JQGrid - cách kích hoạt sự kiện onSortCol
- 14. Ngăn sự kiện nhấp chuột kích hoạt khi sự kiện dblclick kích hoạt
- 15. Cách phát ra sự kiện SocketIO trên máy chủ
- 16. sự kiện onclick không kích hoạt sau sự kiện onchange
- 17. kích hoạt sự kiện "dán" trong Javascript
- 18. Truyền giá trị id cho sự kiện phía máy chủ LinkButton trong điều khiển GridView
- 19. Sự kiện LongClick cũng kích hoạt Sự kiện nhấp
- 20. Lỗi kích hoạt sự kiện tùy chỉnh kích hoạt JQuery
- 21. Đề xuất hệ thống ghi nhật ký sự kiện phía máy chủ cho iOS
- 22. Thêm sự kiện phía máy chủ vào điều khiển bộ mở rộng
- 23. Xác thực phía máy chủ Backbone.js và các lỗi phía máy chủ khác
- 24. Sự kiện máy chủ gửi thực sự hoạt động như thế nào?
- 25. Ví dụ về việc triển khai sự kiện phía máy chủ HTML5 trong Rails 3.2
- 26. Tự động rút gọn phía máy chủ?
- 27. Phím kích hoạt Jquery. Sự kiện mã
- 28. Phía máy khách bao gồm phía máy chủ bao gồm?
- 29. Javascript: Nhiều sự kiện mouseout kích hoạt
- 30. Đảm bảo sự kiện onmouseout để kích hoạt
Không có thông tin để chuyển không có nghĩa là khách hàng không thể bắt đầu cuộc gọi. Hãy suy nghĩ về một "khởi động lại" kích hoạt cho một tài nguyên máy ảo trên phía máy chủ. Những thứ như thế. – RayLuo