rsthn/rose-api

Rose API 项目骨架

安装: 92

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:项目

v2.0.16 2024-08-12 19:48 UTC

README

此存储库包含一个示例项目,用作使用 Rose 构建API的骨架,以确保完全符合 Wind。使用 composer 安装

composer create-project rsthn/rose-api <target-directory>

安装后,编辑您的 composer.json 文件以反映您自己的项目详细信息。


快速测试

假设您将项目安装在名为 test 的文件夹中,打开您的浏览器并导航到 https:///test/,如果一切正常,您应该看到以下 JSON 结果

{
	"response": 200,
	"framework": "rsthn/rose-core",
    "version": "5.0.0"
}

还有一个名为 now 的另一个 API 函数,如果您导航到 https:///test/?f=now,结果应该是

{
	"response": 200,
	"server_time": "2024-04-08 07:20:12",
    "database_time": "2024-04-08 07:20:12"
}

现在,为了简单起见,如果您不喜欢使用 f 参数(顺便说一下,这是完全可以的),而是使用 URL 路径(例如 https:///test/now),您可以将您的 Web 服务器配置为重写 URL。当使用 Apache 兼容性时,请在您的 .htaccess 文件中使用以下内容

RewriteEngine On
RewriteBase /test/

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

有了这个,您的精美 URL 将得到支持。


配置

确保您在此项目的根目录中有一个名为要使用的适当配置环境的 rose-env 文件(例如 devprod 等)。Rose 将从 conf 文件夹加载 dev.confprod.conf 或您指定的任何文件(默认情况下还包括 system.conf),以反映您的系统配置。

请注意,rose-env 文件不应被提交,以确保它永远不会在目标服务器上被覆盖。


API 交互

此项目提供的服务符合 Wind,更多关于它的信息可以在 Wind API 行为文档中找到。

  • 所有 API 函数(.fn 文件)的根文件夹是 fn,因为 Wind 是处理 API 交互的 Rose 服务。
  • f 请求参数表示要执行的函数的名称,此参数只能包含字符 [#A-Za-z0-9.,_-],任何其他字符都将被删除。
  • . 字符用作路径分隔符,因此调用 sys.users.add 将导致 Wind 加载 fn/sys/users/add.fn 文件。

依赖项

此项目安装了以下扩展