我正在尝试使用 Response 对象返回一些内容。这些是实现的接口:
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
Run Code Online (Sandbox Code Playgroud)
然后,在 GET 函数中,我创建自己的 JSON,并尝试将其作为响应返回:
$app->get('/getpersons', function(Request $request, Response $response, $args){
$person= new stdClass();
$person->id = 1;
$person->name='Name example';
$person->address = 'Street example';
return $response->getBody()->write(json_encode($person));
});
Run Code Online (Sandbox Code Playgroud)
但我收到下一个错误:
Return value of Slim\Handlers\Strategies\RequestResponse::__invoke() must
implement interface Psr\Http\Message\ResponseInterface
Run Code Online (Sandbox Code Playgroud)
我不知道发生了什么事。有什么帮助吗?
解决了!必须这样写:
$response->getBody()->write(json_encode($person));
return $response;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7591 次 |
| 最近记录: |