2013-06-12 24 views
9

Tôi đã đọc thông số kỹ thuật của edn và muốn tích hợp nó vào ứng dụng của tôi. Tuy nhiên, tôi không biết cách chuyển yêu cầu edn giữa clojure và ứng dụng khách. Chúng ta có đặt một ứng dụng kiểu nội dung/edn trong tiêu đề phản hồi và chỉ gửi chuỗi đầu ra prn?Có một số loại phản ứng edn chuẩn mà chúng ta có thể sử dụng cho vòng không?

+3

Có thể dự án này bởi fogus có thể cung cấp cho bạn điểm khởi đầu hoặc một số hướng dẫn: [ring-edn] (https://github.com/fogus/ring-edn). –

+0

Xem thêm [định dạng vòng giữa-middleware] (https://github.com/ngrunwald/ring-middleware-format). – noahlz

Trả lời

3

Mặc dù chưa được chấp nhận bởi IANA (ngày 14 tháng 6 năm 2013), loại nội dung chính xác là application/edn. Để cung cấp đầu ra chuỗi hợp lệ của đối tượng clojure của bạn, hãy sử dụng (pr-str obj). Đối với dịch vụ web, phương pháp mã hóa và giải mã phụ thuộc vào khung web của bạn và nhu cầu của bạn.

Pedestal hỗ trợ phân tích cú pháp thành một khóa :edn-params trên bản đồ yêu cầu của nó thông qua việc sử dụng máy đánh chặn body-params của nó. Gửi các đối tượng clojure như edn được xử lý tự động nếu các phần tử phản hồi của bạn không phải là chuỗi. Để thương lượng nội dung, hãy xem pedestal-content-negotiation.

Đối với phần giữa đồ lót, ring-edn phân tách cú pháp thành khóa :edn-params, nhưng không thực hiện bất kỳ sửa đổi ngoài nào. ring-middleware-format cung cấp phân tích cú pháp một số định dạng khác nhau vào khóa :body-params và có bộ sưu tập các phần tử trung gian có thể hữu ích cho các phản hồi. Có một số dự án phần mềm trung gian khác như thế này.

Các vấn đề liên quan