Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/barbaracalderon/fmt-educational-catalog
Restful API project developed in Java, Spring Boot, using JDK17 and Lombok.
https://github.com/barbaracalderon/fmt-educational-catalog
java jdk17 lombok restful-api spring-boot
Last synced: about 1 month ago
JSON representation
Restful API project developed in Java, Spring Boot, using JDK17 and Lombok.
- Host: GitHub
- URL: https://github.com/barbaracalderon/fmt-educational-catalog
- Owner: barbaracalderon
- Created: 2024-03-02T17:53:27.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-22T05:13:42.000Z (9 months ago)
- Last Synced: 2024-10-15T05:42:18.734Z (3 months ago)
- Topics: java, jdk17, lombok, restful-api, spring-boot
- Language: Java
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Educational Catalog Restful API
Este é um projeto inicial de base para uma RESTful API de catálogo, que gerencia alunos e cursos. Bastante simples,
foi desenvolvida em Java e Spring Boot para gerenciar alunos e cursos --- como primeiro contato com o Spring Boot.
Não possui persistência de dados.## Autor
Sou a Barbara Calderon, desenvolvedora de software.
- [Github](https://www.github.com/barbaracalderon)
- [Linkedin](https://www.linkedin.com/in/barbaracalderondev)
- [Twitter](https://www.x.com/bederoni)## Tecnologias Utilizadas
- **Java 17**: linguagem de programação Java com JDK 17.
- **Spring Boot**: framework para desenvolvimento de aplicações Java
- **Spring Boot Starter Web**: para desenvolvimento de aplicativos da web
- **Spring Boot DevTools**: ferramenta para desenvolvimento mais produtivo
- **Project Lombok**: para reduzir a verbosidade do código Java
- **Maven**: gerenciador de dependências e construção de projetos## Endpoints da API
Sistema conta apenas com sete endpoints simples, descritos abaixo.
### /Aluno
| Endpoint | Método HTTP | Descrição |
|------------------|-------------|-----------------------------------------|
| /aluno | GET | Retorna todos os alunos cadastrados. |
| /aluno/{idAluno} | GET | Retorna um aluno específico pelo ID. |
| /aluno | POST | Cadastra um novo aluno. |### /Curso
| Endpoint | Método HTTP | Descrição |
|------------------|-------------|------------------------------------------------|
| /curso | GET | Retorna todos os cursos cadastrados. |
| /curso/{idCurso} | GET | Retorna um curso específico pelo ID. |
| /curso | POST | Cadastra um novo curso. |
| /curso/{idCurso}/matricula | POST | Matricula um aluno em um curso específico. |## Executando o Projeto
Antes de executar o projeto, certifique-se de ter o JDK 17 e o PostgreSQL instalados em sua máquina.
1. Clone o repositório do projeto:
```bash
git clone [email protected]:barbaracalderon/fmt-educational-catalog.git
```2. Acesse o diretório do projeto:
```bash
cd fmt-educational-catalog
```
3. Execute o projeto:
```bash
./mvnw spring-boot:run
```O servidor será iniciado em http://localhost:8080.
## Como Testar os Endpoints
Você pode testar os endpoints utilizando ferramentas como o Insomnia, Postman ou cURL.
Abaixo estão alguns exemplos de como testar os endpoints:### Testando os Endpoints
Você pode testar os endpoints utilizando ferramentas como Postman ou Insomnia. Por exemplo:
- Para listar todos os alunos:
```bash
GET http://localhost:8080/alunos
```- Para cadastrar um novo aluno:
```bash
POST http://localhost:8080/alunoBody:
{
"nomeDoAluno": "Maria",
"dataDeNascimento": "2000-01-01"
}
```Certifique-se de substituir os valores de exemplo pelos valores reais.
### Atividade
Esta foi uma atividade da semana 8, execução própria de uma proposta de primeiro contato com construção de APIs no
ecossistema Java.