最新のappengine-magic/compojureバージョンでPOSTおよびGETパラメーターをキャプチャする際に深刻な問題が発生しています。リクエストオブジェクトに適切なものが含まれている場合でも、パラメータは常に空白として表示されます。
ラッパーを手動で配置する必要があるCompojureプロトコルの変更について、インターウェブの周りでいくつかのことを見てきました。私はこれを試しましたが(ハンドラー/ apiラッパーを使用してGAEを壊すハンドラー/サイトラッパーのものを回避します)、それでも機能しません。
私はここで何が間違っているのですか?
私のproject.cljファイル:
(defproject pitch-filter "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.2.0"]
[org.clojure/clojure-contrib "1.2.0"]
[compojure "0.6.4"]
[hiccup "0.3.6"]
[jtidy "4aug2000r7-dev"]
[commons-lang "2.5"]]
:dev-dependencies [[appengine-magic "0.4.2"]
[clj-http "0.1.1"]])
私のcore.cljファイル:
(ns pitch-filter.core
(:use compojure.core
[appengine-magic.multipart-params :only [wrap-multipart-params]]
[hiccup.middleware :only (wrap-base-url)])
(:require [pitch-filter.fetch :as fetch]
[compojure.route :as route]
[compojure.handler :as handler]
[appengine-magic.core :as ae]
[appengine-magic.services.url-fetch :as url]
(defroutes pitch-filter-app-routes
(GET "/" [] "Main Page")
(GET "/form" []
(str "<form method='post' action='/post'>"
"<input type='text' name='test'>"
"<input type='submit'>"
"</form>"))
(POST "/post" {params :params}
(pr-str params))
(route/not-found "Page not found"))
(def pitch-filter-app-handler
(-> pitch-filter-app-routes
(handler/api)
(wrap-base-url)
))
(ae/def-appengine-app pitch-filter-app #'pitch-filter-app-handler)