sql - 用于将 REST 查询转换为数据库查询的库(或多个库)?

标签 sql web-services rest clojure korma

<分区>

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

示例可能是:

GET/users?status=4

翻译成类似的东西:

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

或:

PUT/users/12

会是:

更新 `users` SET ... WHERE `id` = 12

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

最佳答案

在您的服务中,您可以获得包含以下内容的 map :

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

或者至少是类似的东西。从那里,您可以使用 honey sqlclojure.java.jdbc 中的 DSL .

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

您要求的是不灵活或不可扩展的。如果您需要将表移动到不同的模式怎么办?如果 url 应该改变怎么办?如果有人输入错误的查询参数会发生什么?公开一个新表有多容易?等

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

关于sql - 用于将 REST 查询转换为数据库查询的库(或多个库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18981257/

相关文章:

python - Django:选择列的总和等于某个常数的位置

php - 为动态网站使用 RESTful API

sql - 在 Informix 中使用 sysmaster 用户连接时如何获取特定数据库的表列表?

c# - IBinarySerialize接口(interface)方法有什么用?

java - 如果打包在 *.war 文件中,Switchyard 服务将无法工作

asp.net - 什么是代理网络服务?

java - 在“放心”中获取请求时出现错误

mongodb - junit中的模拟休息服务(带 Spring )

SQL 查询列出员工未工作的城市

c# - 生成的服务引用可能抛出哪些异常?