Рубрики
Uncategorized

Laravel 5 реализует JSON_UNESCAPED_UNICODE и междоменное управление с помощью промежуточного программного обеспечения

Автор оригинала: David Wong.

Использование JSON_UNESCAPED_UNICODE для создания интерфейса JSON может сэкономить много трафика при возврате большого количества символьных данных, отличных от ascii. \uxxxx Конвертируйте в китайский, который люди могут понять. Самый простой способ понять в рамках Laravel-использовать return response()->json($data, 200, [], JSON_UNESCAPED_UNICODE) Возвращает данные интерфейса. Но повторное использование этого метода очень низкое, и не очень хорошо справляться с проблемой кода состояния HTTP. Как программисту, которому нравится вести себя как бык, мне нужно изучить метод, который выглядит как бык. Моя цель-высокое повторное использование и низкое сцепление.

Благодаря постоянному применению закона Google можно получить следующие методы:

1 php artisan make:промежуточное программное обеспечение Json Cors Создайте промежуточное программное обеспечение и добавьте следующий код в метод обработки:

$data = $next($request);
if ($data instanceof \Illuminate\Http\JsonResponse) {
    $data->setEncodingOptions(JSON_UNESCAPED_UNICODE);
    // Here is the cross-domain control code
    $data->withHeaders([
        'Access-Control-Allow-Origin' => '*',
        'Access-Control-Allow-Credentials' => 'true',
    ]);
}
return $data;

2 поправка app/Http/Kernel.php В защищенном $routeMiddleware Добавьте в массив 'json cors' => \App\Http\Промежуточное программное обеспечение\Json Cors::класс, Затем обратитесь к тестовому промежуточному программному обеспечению в маршрутизации.

3 Внедрение промежуточного программного обеспечения в маршрутизацию Маршрут::промежуточное программное обеспечение(['json cors'])

4 Для получения дополнительной информации о междоменном контроле, пожалуйста, посетите раздел Контроль доступа HTTP (CORS).

Приложите ненужные усилия для изучения незначительной проблемы:

Если существует необходимость в единообразной обработке данных, возвращаемых программой, более гибкое управление ответами может быть достигнуто с помощью промежуточного программного обеспечения?