Php Slim 3 post方法返回空

Php Slim 3 post方法返回空,php,post,zend-framework,http-post,slim,Php,Post,Zend Framework,Http Post,Slim,当我向这个url提交一个from操作,并通过Postman测试这个api时。它不是打印POST数据 但是get方法是有效的 $app = new \Slim\App; $dotenv = new Dotenv\Dotenv(__DIR__); $dotenv->load(); $app->add(new \Slim\Middleware\JwtAuthentication([ //"secure" => false, //"relaxed"

当我向这个url提交一个from操作,并通过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方法


谢谢。

您的回调应该返回实现
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();
});

回调应该返回实现
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();
});

当我运行时,它为2个表单数据字段提供1个计数。{“---WebKitFormBoundaryxYYBVKAVWflZ6OMK\r\n内容配置:\表单数据;\ u名称:“\”存储\”\r\n\r\n我需要的数据\r\n------WebKitFormBoundaryxYYBVKAVWflZ6OMK\r\n内容配置:表单数据;名称=\“A\”\r\n\r\n\r\n------WebKitFormBoundaryxYYBVKAVWflZ6OMK--\r\n}我希望将2个表单数据插入数据库中。为此,我使用$request->getParsedBody();它返回空数组。有什么想法@georgy或post方法和插入的代码吗?@AbelJojo,恐怕我帮不了你,因为我不知道你在应用程序中实现的逻辑/持久性机制。然而,我将指出使用的简单示例。这可能会有帮助。您作为答案给出的代码有效。稍后我会把我的代码放进去。没问题。非常感谢。当我运行它时,2个表单数据字段的计数为1。{“---WebKitFormBoundaryxYYBVKAVWflZ6OMK\r\n内容配置:\表单数据;\ u名称:“\”存储\”\r\n\r\n我需要的数据\r\n------WebKitFormBoundaryxYYBVKAVWflZ6OMK\r\n内容配置:表单数据;名称=\“A\”\r\n\r\n\r\n------WebKitFormBoundaryxYYBVKAVWflZ6OMK--\r\n}我希望将2个表单数据插入数据库中。为此,我使用$request->getParsedBody();它返回空数组。有什么想法@georgy或post方法和插入的代码吗?@AbelJojo,恐怕我帮不了你,因为我不知道你在应用程序中实现的逻辑/持久性机制。然而,我将指出使用的简单示例。这可能会有帮助。您作为答案给出的代码有效。稍后我会把我的代码放进去。没问题。谢谢。