我什么都不懂。
当我从我的招摇中做curl -X GET --header 'Accept: application/json' 'http://localhost:3000/api/hello'
时,我得到了一个很好的答案{"result":1}
。
但是,当我尝试使用http://localhost:3000/api/hello?criteria=drf
之类的内容时,服务器会给我java.lang.NullPointerException: Response map is nil
。我很确定这不是零,因为我仍然将{"result":1}
重新放回屏幕上。
但是在第一个错误之后,每个GET /hello
请求,没有任何查询参数,在服务器端出错,同时仍然给客户端正确的答案?
我需要重新启动服务器才能使错误停止。哪个有效,直到第一个请求查询参数....
(ns swag.handler
(:require [compojure.api.sweet :refer :all]
[ring.util.http-response :refer :all]
[clojure.java.jdbc :as j]
[clojure.core.match :as match]
[clojure.spec.alpha :s s]
)
(def app
(api
{:swagger
{:ui "/"
:spec "/swagger.json"
:data {:info {:title "Trash"
:description "Compojure Api example"}
:tags [{:name "api", :description "some apis"}]}}}
(context "/api" []
:tags ["api"]
(GET "/plus" []
:return {:result Long}
:query-params [x :- Long, y :- Long]
:summary "adds two numbers together"
(ok {:result (+ x y)}))
(GET "/hello" []
:query-params [& z]
(let [criteria (:criteria z) values (:date z)]
(println z)
(ok {:result 1})))
))
)
答案 0 :(得分:1)
如果收到此消息,请在浏览器中检查favicon.ico请求。
这可能会触发响应映射为null,因为未配置任何路由来处理它。
答案 1 :(得分:0)
对我们来说,问题是我们需要在端点/s
上拖尾,这给了我们这个错误(我们在调试时正在查看您的q,但是刚刚解决了)。