hyperf 3.1 请求与响应

        对于 请求(Request) 与 响应(Response),Hyperf 提供了 Hyperf\HttpServer\Contract\RequestInterface 和 Hyperf\HttpServer\Contract\ResponseInterface 方便您获取入参和返回数据。


        请求 :http://domain.com/foo/bar?baz=1

$request->path();           // 将会返回 foo/bar
$request->url();            // 没有查询参数
$request->fullUrl();        // 带上查询参数
$request->getMethod();      // 获取请求方法  
$request->all();            // 获取所有输入


// 获取所有参数
$this->request->all()

//获取指定输入值
$request->input('name');    // 存在则返回,不存在则返回 null
$request->input('name', 'Hyperf');    // 存在则返回,不存在则返回默认值 Hyperf
//如果传输表单数据中包含「数组」形式的数据,那么可以使用「点」语法来获取数组:
$name = $request->input('products.0.name');
$names = $request->input('products.*.name');

// 获取url上的参数
$request->query('name', '');          // 存在则返回,不存在则返回默认值 Hyperf


// 获取 JSON 输入信息
如果请求的 Body 数据格式是 JSON,则只要 请求对象(Request) 的 Content-Type Header 值 正确设置为 application/json,
就可以通过 input(string $key, $default = null) 方法访问 JSON 数据,你甚至可以使用 「点」语法来读取 JSON 数组
$request->input('user.name', 'Hyperf');    // 存在则返回,不存在则返回默认值 Hyperf




$method = $request->getMethod(); 
if ($request->isMethod('post')) 
{ 
    // ... 
}



        响应

# 返回json数据
  $this->response->json(['key' => 'value']);
  
# 返回xml数据
$this->response->xml(['key' => 'value']);

// 文件下载
$this->response->download('/opt/flie.csv', 'filename.csv');

// Cookie设置
$this->response->withCookie(new Cookie('key', 'value'))->withContent('hello world')





冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论