Có cách nào để lấy đối tượng HttpServletRequest trong trình xử lý Ring không? Tôi đang sử dụng Noir để phát triển một ứng dụng web. Tôi cần phải nhận được HttpServletRequest obj khi xử lý một URI. Vì vậy, tôi sử dụng hàm (noir.request.ring-request) để lấy lại bản đồ yêu cầu vòng chứa: khóa yêu cầu servlet, nhưng giá trị là không. Đây có phải là cách đúng để làm điều đó hay tôi bỏ lỡ điều gì đó?Cách nhận HttpServletRequest trong trình xử lý Ring?
Sau đây là đoạn code:
(ns my-app
(:use noir.request))
(defpage [:get "/app"] []
(str (ring-request)))
kết quả:
{:remote-addr "127.0.0.1", :scheme :http, :query-params {}, :session {}, :form-params {}, :multipart-params {}, :servlet #, :request-method :get, :query-string nil, :content-type nil, :cookies {"ring-session" {:value "eb509a65-d33a-40d2-9646-e2ff785428b0"}}, :uri "/app", :server-name "127.0.0.1", :params {}, :headers {"cookie" "ring-session=eb509a65-d33a-40d2-9646-e2ff785428b0", "accept-charset" "GBK,utf-8;q=0.7,*;q=0.3", "accept-language" "en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4", "accept-encoding" "gzip,deflate,sdch", "accept" "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "user-agent" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2", "connection" "keep-alive", "host" "127.0.0.1:8080"}, :servlet-request #, :content-length nil, :server-port 8080, :character-encoding nil, :servlet-response #, :body #, :servlet-context #}
Ra quan tâm, những gì bạn đang cố gắng để làm cho các đối tượng yêu cầu? Có thể có một số cách khác để thực hiện điều này. –