Alternativa B
A questão aborda a configuração de projetos utilizando o Spring Initializer, ferramenta padrão para gerar projetos Spring Boot. Para desenvolver aplicações que exponham serviços RESTful (APIs web), é necessário incluir a dependência adequada.
No ecossistema Spring, essa funcionalidade é garantida pelo módulo Spring Web. Quando selecionado no Spring Initializer, ele adiciona o starter spring-boot-starter-web, que traz consigo o framework Spring MVC e servidores web como o Tomcat.
Análise Detalhada
Para entender porque a alternativa B é a correta, vamos analisar o propósito de cada dependência listada:
- H2 Database: Trata-se de um banco de dados relacional leve e em memória. Sua função é armazenar dados, não servir requisições web.
- Spring Web: É a resposta correta. Contém as classes essenciais para construir aplicações web, incluindo a capacidade de criar controladores anotados com
@RestController. - Spring Boot Dev Tools: Conjunto de ferramentas para melhorar a produtividade durante o desenvolvimento (ex: auto-reload), sem impacto na funcionalidade de produção REST.
- Spring Data JPA: Utilizado para abstrair o acesso ao banco de dados (camada de persistência), mas não cria os endpoints HTTP.
- Spring Security: Responsável por gerenciar autenticação e autorização de usuários, protegendo os serviços, mas não definindo a estrutura REST deles.
Conclusão
A dependência fundamental para habilitar serviços RESTful no Spring Boot é o Spring Web. Portanto, a alternativa B é a correta.