Có lẽ my answer đến Điểm khởi đầu tốt để phát triển dịch vụ web RESTful ở Clojure là gì? câu hỏi về SO có thể giúp bạn. Nó đề cập đến một số thư viện web quan trọng cho Clojure (với các liên kết và tóm tắt ngắn). Điểm mấu chốt mà tôi muốn nhắc lại ở đây được nêu trong đoạn đầu tiên của câu trả lời đó:
Trước hết, tôi nghĩ bạn không thể tìm thấy một giải pháp rút gọn duy nhất để thực hiện tất cả điều này trong Clojure (ngoại trừ dưới dạng một thư viện Java được sử dụng thông qua interop). Điều gì đang trở thành ngăn xếp Web chuẩn của Clojure bao gồm một số thư viện mà mọi người kết hợp và kết hợp theo mọi cách (vì chúng có xu hướng tương thích hoàn toàn). Để làm điều đó tôi sẽ thêm rằng bạn có thể không mong đợi để xử lý những thứ với loại "dòng ứng dụng" bạn có thể biết từ Java (hoặc nếu bạn tin rằng bạn thực sự cần nó, có thể bạn sẽ phải cuộn lib của riêng bạn để hỗ trợ nó!). Mặc dù vậy, mọi người dường như rất hài lòng với phương thức xử lý của Ring, một phương thức thân thiện với phần mềm trung cấp.
Để giải quyết những viên đạn của bạn:
đáp ứng khuôn mẫu:
Có một số giải pháp Clojure cụ thể, bao gồm Enlive và Hiccup (Enlive là một HTML cào rất mạnh mẽ/khuôn mẫu/biến đổi động cơ; Hiccup là một DSL để viết HTML trong Clojure với thuộc tính đẹp mà nó hiển thị nhanh). Ngoài ra, đây có lẽ là một nơi mà nó làm cho cảm giác hoàn hảo để thả xuống Java và sử dụng một cái gì đó như, nói, StringTemplate. Điều này thậm chí còn có mặt tốt của việc ngăn cản sự pha trộn của các mẫu và logic! (Tôi tin rằng Stuart Halloway đã nói rằng Relevance - công ty của ông -. Đang sử dụng chiến lược này trong công việc của họ và có thành công lớn với nó)
HTTP phiên
Đó sẽ là Sandbar, tôi giả sử. Tác giả đã bắt đầu a series of blogposts về nó có vẻ rất hứa hẹn.
REST với bản đồ tự động URL thành hành động chức năng và params
Đó là Ring & Compojure và/hoặc Moustache. Xem bên dưới.
Biểu mẫu HTML (thông số có sẵn dưới dạng bản đồ, xử lý lỗi, xác thực)
Như trên.
Luồng ứng dụng (được biết đến từ khung công tác Java - trình xử lý yêu cầu trả lại mã định danh hành động được xử lý bởi trình kết xuất)
Như đã đề cập ở trên, không thực sự là điều mọi người có xu hướng làm trong Clojure.
Như một điểm khởi đầu khi nghiên cứu về web chồng Clojure, this Ring tutorial bởi Ring 's tác giả Mark McGranaghan là rất hữu ích. Compojure 's tác giả James Reeves có some documentation trên Compojure. Có lẽ my recent answer đến "Ý tưởng lớn" đằng sau các tuyến đường mô phỏng là gì? Câu hỏi cũng có thể giúp ích. Các nguồn của Ring cũng bao gồm một tài liệu SPEC tuyệt vời.
Nguồn
2010-08-23 22:49:37
-1 cho yêu cầu phiên HTTP - khuôn khổ Chơi chứng tỏ bạn không cần điều đó –