rest - 美化或缩短 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
非常感谢。
解决方案
您不需要使用 eXistdb 提供的 REST-API。也许restxq是你正在寻找的。
此外,controller.xql
自定义应用程序中的 a 也将接收并能够处理GET
、和请求,以获得最大的灵活性POST
。PUT
DELETE
看看request 模块提供了哪些方法。也有一些关于URL 重写的文档。它有点过时,但应该让你开始。
为了以您想要的方式进一步自定义和缩短 URL,您应该通过 nginx 代理请求。无论如何,在生产环境中运行 existsdb 是推荐的方法,它允许您将请求路由/exist/apps/my-app/
到./exist/rest/
/api/
推荐阅读
- google-cloud-dlp - Google DLP 中的文本字典转换
- aws-lambda - 如何将 CloudWatch Lambda Insights 添加到无服务器配置?
- c++ - 如何将以下静态链接程序更改为动态链接程序?
- c - 如何将字符插入二叉树?
- json - angular/ts/json:从总记录中如何知道匹配特定值的计数
- php - 如何使用数据库种子在 codeigniter-3 版本中创建用户?
- string - 使用 net Write 发送数据\r\n 作为字符串而不是 eof 发送
- ios - 该层被“CAShapeLayer”所掩盖,路径为矩形、圆角矩形或椭圆
- database - NoSQL 离线/独立 - 无需 exe 应用程序直接查询 GraphDB 文件?
- php - 如何使用 file_put_contents 解析成 txt 文件