[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Moacir de Oliveira
Criador Moacir de Oliveira 11/02/2022

Ola Carlos;

Uma duvida:

Gostaria de uma aplicação que usasse um mesmo controller para rotas API e WEB.

Seria uma aplicação que eu criaria para acesso pela web e mobile.

A maneira que estou fazendo até resolver é pelo segment da url; mas acredito que teria um meio mais correto.

Minha duvida : Como e onde detecto se a requisição esta vindo das rotas web para retornar uma view e quando vem da api para retornar Json ?

 

Desde de já agradeço pela atenção dispemnsada;

Moacir

Manager Carlos Ferreira 11/02/2022

Olá, Moacir!
Tudo bem?

É possível fazer isso amigo, usar os mesmos controllers para responder tanto para web quanto dar um response para uma API.

Agora um questionamento, é uma boa prática?
Sinceramente, não. Porque fere os princípios do SOLID (S)

---

No controller você pode usar isso (embora recomendo separar em controllers diferentes, e usar service e repositores para isolar as lógicas):
public function index(Request $request)
{
    if($request->ajax()) {
        return response()->json([
            'message' => 'request json'
        ]);
    }


    return view('path.sua-view');
}

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!