Slim Framework,Rest Api 文件夹中的路由结构需要为每个 API 调用选项
Slim Framework, Rest Api routes structure in folders need to call options for each API
我开发了一个 Api,它在文件夹上运行路由,而不是为所有路由运行单个文件(有些人这样做),在修改 Api 结构之前,我需要找出我需要这样做的原因每次我调用不同的 API 时调用选项,我已经了解 CORS 概念并且它正在我的 server/clientbut 上工作不明白为什么调用选项,这是正常的还是我必须映射所有路由在一个文件中?如果是这种情况,是否会影响将所有路由映射到单个呼叫,或者是在不同文件夹上分隔 apis 的更好方法?
这是我在 slim 中的做法,所有对 api "users" 的调用都包含在 "document_root -> v2 -> users -> index.php" 中,在 index.php 我调用 SlimFramework 引擎和还有 Api 这样的调用:
users api called at: api.host.com/v2/users/
GET host.com/v2/users/ = document_root -> v2-> users -> read.php
POST host.com/v2/users/ = document_root -> v2-> users -> add.php
PUT host.com/v2/users/ = document_root -> v2-> users -> edit.php
在index.php中:
// read
$app->get('/', function () use ($api) {
include 'read.php';
});
// add
$app->post('/', function () use ($api) {
include 'add.php';
});
// update
$app->put('/', function () use ($api) {
include 'edit.php';
});
and so on...
预检请求,例如OPTIONS
是 CORS
标准的一部分。一般来说,如果 CORS
请求使用 GET
、HEAD
或 POST
以外的任何其他请求方法,则会发送预检请求。此外,如果 POST
用于发送带有 Content-Type
而非 application/x-www-form-urlencoded
、multipart/form-data
或 text/plain
的请求数据,则该请求将被预检。
在执行 API 时,您通常会执行 application/json
请求,这意味着请求将被预检。
我开发了一个 Api,它在文件夹上运行路由,而不是为所有路由运行单个文件(有些人这样做),在修改 Api 结构之前,我需要找出我需要这样做的原因每次我调用不同的 API 时调用选项,我已经了解 CORS 概念并且它正在我的 server/clientbut 上工作不明白为什么调用选项,这是正常的还是我必须映射所有路由在一个文件中?如果是这种情况,是否会影响将所有路由映射到单个呼叫,或者是在不同文件夹上分隔 apis 的更好方法?
这是我在 slim 中的做法,所有对 api "users" 的调用都包含在 "document_root -> v2 -> users -> index.php" 中,在 index.php 我调用 SlimFramework 引擎和还有 Api 这样的调用:
users api called at: api.host.com/v2/users/
GET host.com/v2/users/ = document_root -> v2-> users -> read.php
POST host.com/v2/users/ = document_root -> v2-> users -> add.php
PUT host.com/v2/users/ = document_root -> v2-> users -> edit.php
在index.php中:
// read
$app->get('/', function () use ($api) {
include 'read.php';
});
// add
$app->post('/', function () use ($api) {
include 'add.php';
});
// update
$app->put('/', function () use ($api) {
include 'edit.php';
});
and so on...
预检请求,例如OPTIONS
是 CORS
标准的一部分。一般来说,如果 CORS
请求使用 GET
、HEAD
或 POST
以外的任何其他请求方法,则会发送预检请求。此外,如果 POST
用于发送带有 Content-Type
而非 application/x-www-form-urlencoded
、multipart/form-data
或 text/plain
的请求数据,则该请求将被预检。
在执行 API 时,您通常会执行 application/json
请求,这意味着请求将被预检。