1
resposta

[Sugestão] Endpoint para files

Cria a rota:

Route::post('/series/upload', [ApiSeriesController::class, 'upload']);

Depois add esse codigo na class:

public function upload(Request $request)
  {
    $coverPath = null;

    if ($request->hasFile('cover')) {
      $coverPath = $request->file('cover')->store('series_cover', 'public');
    } else {
      return response()->json(['error' => 'Nenhum arquivo foi enviado.'], 400);
    }

    $request->merge(['coverPath' => $coverPath]);

    return response()->json(['file_path' => $coverPath]);
  }

Depois add esse codigo:

 public function store(Request $request)
  {
    $coverPath = $request->input('cover');
    $coverPath = str_replace("\\", "/", $coverPath);

    return response()->json(Series::create($request->all()), 201);
  }

Agora No Postman:

Abra o Postman e crie uma nova solicitação.

Defina o método HTTP como POST.

Insira a URL do seu endpoint de upload, por exemplo, http://seu-domínio/api/series/upload.

Na guia "Body", selecione "form-data".

Adicione um campo com a chave "cover" e selecione o tipo de campo "File".

Clique no botão "Select Files" para selecionar o arquivo que você deseja fazer o upload.

Clique no botão "Send" para enviar a solicitação.

1 resposta

Olá, Heber! Tudo bem?

Parece que você já tem um bom entendimento de como lidar com uploads de arquivos em Laravel, o que é ótimo!

Sua sugestão de endpoint para lidar com arquivos é muito válida e é uma abordagem comum em muitas APIs. Além de ser uma adição valiosa ao conteúdo passado no curso.

Continue se dedicando em seus estudos e caso tenha dúvidas, estarei à disposição para te ajudar!

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software