首页 > 解决方案 > 美化或缩短 REST API 的 URL

问题描述

eXist DB 中现成的 REST API 使用如下 URL:

http://www.example.com/exist/rest/db/myapp/api/myxquery.xql

就我而言,用户将发送 PUT 和 DELETE 请求。

是否有任何理由不能/不应该提供较短的 URL,例如

http://www.example.com/API/get-play.xql

然后在 eXist 控制器中重定向到:

http://www.example.com/exist/rest/db/shakespeare/api/myxquery.xql

即使阅读文档,我仍然对这方面的安全隐患和复杂性保持幼稚。

注意:使用 eXist 4.7

非常感谢。

标签: restapiurlexist-db

解决方案


您不需要使用 eXistdb 提供的 REST-API。也许restxq是你正在寻找的。

此外,controller.xql自定义应用程序中的 a 也将接收并能够处理GET、和请求,以获得最大的灵活性POSTPUTDELETE

看看request 模块提供了哪些方法。也有一些关于URL 重写的文档。它有点过时,但应该让你开始。

为了以您想要的方式进一步自定义和缩短 URL,您应该通过 nginx 代理请求。无论如何,在生产环境中运行 existsdb 是推荐的方法,它允许您将请求路由/exist/apps/my-app/到./exist/rest//api/


推荐阅读