Slim 3 post 方法 returns 空

Slim 3 post method returns empty

当我向这个 url 提交一个动作时,还通过 Postman 测试这个 api。它不打印 POST 数据。

但是 get 方法有效。

$app = new \Slim\App;

$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

$app->add(new \Slim\Middleware\JwtAuthentication([
    //"secure"      => false,
    //"relaxed"         => ["localhost", "api.f2f.dev"],
    "header"        => "X-Token",
    "path"          => ["/v2"],
    "passthrough"   => ["/v1/api/token/", "/test", "/v1"],
    "secret"        => getenv("TOKEN_SECRET")
]));

$app->post("/v1/app/register", function ($request, $response, $arguments) {
     return $allPostPutVars = $request->getParsedBody();
});

我找不到这个问题。但是未解析的数据能够打印。

欢迎任何帮助。也欢迎在 Slim 3 上使用任何 post 方法。

谢谢。

您的回调应该 return 实现 Psr\Http\Message\ResponseInterface 的响应对象。它没有。因此,举个例子:

$app->post("/v1/app/register", function ($request, $response, $arguments) {
    $params = $request->getParams();
    return $response->getBody()->write('You have posted '.count($params).' parameters.');
});

有时您需要进行快速而粗略的检查。然后您可以执行以下操作:

$app->post("/v1/app/register", function ($request, $response, $arguments) {
    $params = $request->getParams();
    print_r($params);
    die();
});