我有一个Clojure的/ web应用程序的Compojure与预览GET请求与几个参数做了以下路线的Compojure defroutes - 路线有时不认可
(defroutes my-routes
(GET "/app/preview" request (my-preview-function request))
(ANY "*" request (str "ANY page <br>" (request :params))))
。我觉得这个工作的大部分时间,但有时/电子书/预览未发现和处理下降到任何途径,在这种情况下,输出与此类似,
ANY page
{:* "/app/preview", :section "50", :id "48"}
任何人都可以提出什么可能导致/电子书/预览请求被跳过?这绝对是一个GET请求; HTML没有针对/ app/preview URL的POST,并且双倍确定我为/ app/preview添加了POST路由并且没有被点击。
JAR版本:
Clojure 1.2
compojure-0.6.2
ring-core-0.3.7
jetty-6.1.14
ring-jetty-adapter-0.3.1
ring-servlet-0.3.1jar
servlet-api-2.5-6.1.14
航线包裹如下
(require '[compojure.handler :as handler])
(defn wrap-charset [handler charset]
(fn [request]
(if-let [response (handler request)]
(if-let [content-type (get-in response [:headers "Content-Type"])]
(if (.contains content-type "charset")
response
(assoc-in response
[:headers "Content-Type"]
(str content-type "; charset=" charset)))
response))))
(def app (-> my-routes
handler/site
wrap-stateful-session
(wrap-charset "utf-8")
(wrap-file "public")))
(defn run []
(run-jetty (var app) {:join? false :port 8080}))
谢谢。这是一个很好的建议。仍然没有快乐的工作,为什么正确的路线不会被拿起,但我会反馈,如果我工作了。 –