Im создание API в Laravel 5.3. В моем routes/api.php
файле у меня есть 3 конечных точек:Перенаправление маршрута в Ларавел 5.3
Route::post('/notify/v1/notifications', 'Api\Notify\v1\[email protected]');
Route::post('/notify/v1/alerts', 'Api\Notify\v1\[email protected]');
Route::post('/notify/v1/incidents', 'Api\Notify\v1\[email protected]');
Некоторые услуги будут называть эти маршруты непосредственно, однако, когда приходит запрос от некоторых услуг, входные данные должны быть обработаны, прежде чем он может поразить эти конечные точки.
Например, если запрос поступает из JIRA, мне необходимо обработать входные данные до того, как они попадут в эти конечные точки.
Im думая, что самый простой способ сделать это будет иметь 4-ую конечную точку, как показано ниже:
Route::post('/notify/v1/jira', 'Api\Notify\v1\[email protected]');
Идея заключалась в том, чтобы поразить /notify/v1/jira
конечную точку, имеют процессу formatJiraPost
метод ввода, а затем вперед просьба указать /notify/v1/notifications (/alerts, /incidents)
.
Как я могу указать конечную точку /notify/v1/jira
направить запрос на конечную точку /notify/v1/notifications
?
Вы видите лучший способ сделать это?
Вы можете использовать промежуточное программное обеспечение для форматирования ваших данных запроса, а затем перенаправить его на ту же конечную точку, не требуя четвертого. – TheFallen
Согласитесь с @TheFallen. Использование промежуточного программного обеспечения для проверки «Требования к предварительной обработке» может быть вашим лучшим вариантом. Хотя, одна вещь, которую следует учитывать, заключается в том, чтобы обернуть все 3 конечных точки внутри промежуточного программного обеспечения, чтобы добавить некоторые издержки времени выполнения. Из-за «проверки всех запросов», чтобы увидеть, нужна ли им предварительная обработка. – scottevans93