mck*_*mck 5 sbcl common-lisp hunchentoot
我找不到有关如何基于HTTP方法调度的任何文档(在同一uri上)。我得到的最接近是:default-request-type的define-easy-handler-但似乎调度后者,即使我用GET方法:
(define-easy-handler (index :uri "/" :default-request-type :get) ()
(log-message* :info "GET on index ------ ")
(format nil "Hello World"))
(define-easy-handler (echo :uri "/" :default-request-type :post) ()
(log-message* :info "POST on index ------ ")
(format nil "~S" (raw-post-data :force-text t)))
Run Code Online (Sandbox Code Playgroud)
小智 2
许多构建在 hunchentoot 之上的框架都具有这一点。雷斯塔斯和穴居人只是两个例子。例如,在 Restas 中你可以说:
(restas:define-route foo ("/foo" :method :get)
; some code here
)
(restas:define-route foo/post ("/foo" :method :post)
; some other code here
)
Run Code Online (Sandbox Code Playgroud)