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...

预检请求,例如OPTIONSCORS 标准的一部分。一般来说,如果 CORS 请求使用 GETHEADPOST 以外的任何其他请求方法,则会发送预检请求。此外,如果 POST 用于发送带有 Content-Type 而非 application/x-www-form-urlencodedmultipart/form-datatext/plain 的请求数据,则该请求将被预检。

在执行 API 时,您通常会执行 application/json 请求,这意味着请求将被预检。