私のWebクライアント(cljs
で書かれています)は、いくつかのサードパーティのAPI呼び出しを行う必要があるバックエンド(clj
で書かれています)に接続します。それはサーバー上で行われなければならず、結果は特定の方法で変換され、クライアントに返されます。ここでclojure/ringでhttpコールを行うにはどうしたらいいですか?
は、URLの
(defn get-orders [req]
(let [{:keys [sig uri]} (api-signature :get-orders)]
(client/get uri
{:async? true}
(fn [response] {:body "something"})
(fn [exception] {:body "error"}))))
代わりの{:body "something"}
を返すの1のための私のハンドラだ、それは次のエラーを返して:私は間違って
No implementation of method: :render of protocol: #'compojure.response/Renderable found for class: org.apache.http.impl.nio.client.FutureWrapper
何をしているのですか?
の場合を支援するために、同時に複数のサードパーティのURLへの呼び出し、Webクライアントに一度戻る、promiseを使用したい場合はそう
よう
true
に:async?
フラグを設定しますFutureWrapperはJavaの未来であり、derefまたは@のどちらかを使用して逆参照しようとします。 –