Olá Murilo, tudo bem?
Para retornar um arquivo pelo Spring, você pode usar a classe Resource
do Spring Framework. Essa classe representa um recurso, que pode ser um arquivo, imagem, vídeo, etc.
Para disponibilizar um arquivo .mp3 no servidor e acessá-lo pela URL, você pode seguir os seguintes passos:
- Crie uma pasta
audio
dentro da pasta resources
do seu projeto Spring Boot. - Coloque o arquivo .mp3 dentro da pasta
audio
. - Crie um método no seu controlador que retorne um objeto
ResponseEntity<Resource>
. Esse método deve receber o nome do arquivo como parâmetro. - Dentro do método, crie um objeto
Resource
a partir do arquivo .mp3 e retorne um ResponseEntity
com esse objeto.
Segue um exemplo de código do método no controlador:
@GetMapping("/audio/{fileName}")
public ResponseEntity<Resource> getAudio(@PathVariable String fileName) {
Resource resource = new ClassPathResource("audio/" + fileName);
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType("audio/mpeg"))
.body(resource);
}
Dessa forma, ao acessar a URL http://localhost:8080/audio/nome-do-arquivo.mp3
, o arquivo será retornado pelo Spring.
Espero ter ajudado e bons estudos!