如何通过标题设置Cookie?

时间:2017-08-02 04:10:12

标签: php laravel laravel-5.4

在我的验收测试中,我正在尝试使用cookie发送JSON请求:

// CartTest.php
$response = $this->postJson(route('carts.store'), [], [
    'Cookie' => 'uuid='.Crypt::encrypt($cart->uuid)
]);

当我在控制器上$request->hasCookie('uuid')时,我得到false

我也尝试了不同的变体,例如Set-CookieHTTP_SET_COOKIE等,但它们似乎都没有效果。为简洁起见,我更倾向于使用postJson而不是通用call传递Cookie。

有什么想法吗?感谢

2 个答案:

答案 0 :(得分:0)

为什么不尝试这个?在提出请求之前:

$_COOKIE['uuid'] = Crypt::encrypt($cart->uuid);

是的,很大胆。但似乎也有效。还有other ideas

答案 1 :(得分:0)

我想我现在明白为什么Laravel在其postJson方法签名中不接受任何cookie。事实上,it's not a recommended practice首先用API交换cookie。这回答了这个问题。