У меня есть несколько таких маршрутов:
GET /post/1/comment/1
PUT /post/1/comment/1
POST /post/1/comment/1/reply
Проверка для post_id и comment_id для каждого API в контроллерах создаст много дублирующегося кода.
Например:
CommentsController
function getInfo($postId, $commentId)
{
// validate postId
// validate commentId
// find & return Comment
}
function update(UpdateRequest $request, $postId, $commentId)
{
// validate postId
// validate commentId
// update Comment
}
function reply(CreateReplyRequest $request, $postId, $commentId)
{
// validate postId
// validate commentId
// create reply for Comment
}
Что нужно сделать, чтобы уменьшить дублирование кода здесь?Каковы лучшие практики?
ОБНОВЛЕНИЕ 1:
Это в Lumen, поэтому нельзя использовать привязку модели маршрута?Предполагается, что привязка модели маршрута может иметь проблемы с производительностью?