用于将 REST 查询转换为数据库查询的库



我想使用clojure来构建一个带有RESTful API的Web服务,该API公开存储在关系数据库(在本例中为mysql)中的资源。我想使用一个库,给定数据库模式的规范,将传入的请求转换为数据库查询或 korma 构造。

示例可能是:

GET /users?status=4

翻译为类似以下内容:

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

或:

PUT /users/12

将:

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

有什么可以促进这一点的吗?

在您的服务中,您可以获取包含以下内容的地图:

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

或者类似的东西,至少。 从那里,你可以在clojure.java.jdbc中使用蜂蜜SQL或DSL。

据我所知,没有一个库可以直接从请求映射到SQL查询,尽管实际上我们只谈论几行代码来完成您正在寻找的内容。

您所要求的不是灵活或可扩展的。 如果需要将表移动到其他架构,该怎么办? 如果网址应该更改怎么办? 如果有人输入了错误的查询参数,会发生什么? 公开新表有多容易?等。

有太多特定于应用程序的决策,无法在库中合理地完成此操作。

相关内容

  • 没有找到相关文章

最新更新