3

clojure を使用して、リレーショナル データベース (この場合は mysql) に保存されているリソースを公開する RESTful API を備えた Web サービスを構築したいと考えています。db スキーマの仕様を考慮して、着信要求を db クエリまたは korma コンストラクトに変換するライブラリを使用したいと考えています。

例は次のとおりです。

GET /users?status=4

次のように変換します。

SELECT * FROM `users` WHERE `status` = 4;

また:

PUT /users/12

だろう:

UPDATE `users` SET ... WHERE `id` = 12

これを容易にするものはありますか?

4

1 に答える 1

2

サービスでは、以下を含むマップを取得できます。

{:uri "/users" :query-params {:status 4}}

または、少なくとも同様の何か。そこから、honey sqlまたはclojure.java.jdbcの DSL を使用できます。

要求マップから sql クエリに直接移行するライブラリは私が知っているものではありませんが、実際には、探していることを実行するための数行のコードについて話しているだけです。

あなたが求めているものは、柔軟でも拡張可能でもありません。テーブルを別のスキーマに移動する必要がある場合はどうすればよいでしょうか? URLが変更された場合はどうなりますか?誰かが不適切なクエリ パラメータを入力した場合はどうなりますか? 新しいテーブルを公開するのはどれくらい簡単ですか? 等

これをライブラリで合理的に達成するには、アプリケーション固有の決定が多すぎます。

于 2013-09-24T13:32:35.997 に答える