Minha duvida seria a seguinte, no caso do meu projeto ter uma API (as rotas seriam montadas no routes/api.php) e também nesse mesmo projeto ter o sistema (as rotas ficariam em routes/web.php), como posso ter um reaproveitamento de código, sem precisar ter que criar 2 controllers separados, já que para o controller do meu sistema eu retornaria uma view e no controller da minha api eu retornaria um JSON?
Ex: Na minha API irei ter a rota que faz o cadastro, essa rota acessa um controller que faz tudo que tem que fazer e retorna o JSON, porém no meu sistema que esta nesse mesmo projeto eu também vou ter uma tela de cadastro que irá fazer a mesma coisa, porém o retorno não poderia ser um JSON e sim uma view.