¿Hay alguna forma de obtener el objeto HttpServletRequest en un controlador Ring? Estoy usando Noir para desarrollar una aplicación web. Necesito obtener el obj HttpServletRequest al manejar un URI. Así que utilizo la función (noir.request.ring-request) para recuperar el mapa de solicitud de llamada que contiene: servlet-request key, pero el valor es nil. ¿Es esta la manera correcta de hacerlo o me extraño algo?¿Cómo obtener HttpServletRequest en un controlador de anillo?
siguiente es el código:
(ns my-app
(:use noir.request))
(defpage [:get "/app"] []
(str (ring-request)))
el resultado:
{: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 #}
Fuera de interés, lo que estás tratando de hacer que el objeto de solicitud? Tal vez hay alguna otra forma de lograr esto. –