2
두 입력을받는 처리기 함수를 만들고 싶습니다. 하나는 URL /name
에서 가져온 매개 변수이며, 두 번째는 그러나 나는 단지 하나를 통과하고, 핸들러가 2 PARAMS을 기대하고 있기 때문에 /name?x=3
콧수염 처리기에서 요청 맵에 액세스/전달하는 방법
(def my-app (app
[page-name] (handler page-name)))
(defn handler
[{:keys [params]} page-name]
(let [x (params "x")]
(-> (page-templ page-name x) response constantly)))
은 위의 실패 쿼리 문자열에서 PARAM입니다.
요청 맵을 어떻게 가져 와서 처리기로 전달합니까?
상기 요청 맵에는 x
이라는 매개 변수가 포함되어 있습니다.
응답이 요청에 의존하는 경우 계속해서 사용하면 안됩니다. ** 끊임없이 ** 요청에 무관심한 응답을 신속하게 반환하는데 사용됩니다. 매개 변수의 유무에 상관하지 않습니다. –
대답 주셔서 감사합니다, 그것은 대단히 도움이되었습니다. 이제 모든 함수를 위의 방식으로 정의하고 있습니다. 그러나 나는 wrap-keyword-params 작업을 수행 할 수 없습니다. 나는 여전히 문자열 키를 얻는다. 내 코드를 https://github.com/murtaza52/hs-ex에 게시했습니다. – murtaza52
죄송합니다. 웹 응용 프로그램을 실행할 수 없지만 앱 매크로 내에 래퍼를 지정하면 주문을 취소해야한다고 생각합니다. (app (wrap-params) (wrap-keyword-params) [ ""] (serve-index)) –