Skip to main content

One post tagged with "13/11/2021"

View All Tags

· 3 min read

13/11/2021 - Aula 4 de Backend com Java (Presencial)

Após algumas semanas sem aula por problemas de saude e disponibilidade da sala, a aula voltou hoje, sendo a ultima do ano e da materia.

O Professor Djonathan começa a aula falando sobre padrão de organização de um projeto. Comparando alguns tipos. Ele falou que posteriormente vai passar um material sobre isso.

Essa parte de organização vai ser utilizada para o trabalho, além de uma forma de documentar a nossa API utilizando OpenAPI. O professor foi atualizando o projeto que temos, do qual vamos ter que seguir para entregar o trabalho.

Isso foi o que foi visto pela manha. Após o almoço, começamos a ver sobre APIs REST e os seus verbos HTTP, vimos sobre HATEOAS e sobre o uso de Swagger.

Voltamos as aulas presenciais, pois o decreto que permitia não está mais em vigor. O Professor Djonathan começa a aula fazendo uma revisão da segunda aula.

  • Princípio da Responsbilidade Única
    • Classes e metodos sempre coesos, que ele ~e responsavel por ele mesmo.
  • Princípio Aberto-Fechado
    • Uma forma melhor de escrever, que garante a sustentabilidade do código.
  • Padrões

Depois de revisar, a aula continuou com Spring, utilizando o projeto unipar-2021-aula-2 para implementar alguns recursos do Spring, conforme o professor ia fazendo ele ia explicando a utilização dos componentes.

  • @Component
  • @AutoWired
  • Injeção de dependência por Setter
  • Contrutor

Tudo isso visto até o momento foi o modulo 1, agora vamos começar o modulo 2, que é a utilização de APIs.

Como levar o monte Fuji do Japão para a India? Monte Fuji R: Uma foto já faz você levar para a India.

Livro: How Do You Fight a Horse-Sized Duck?: Secrets to Succeeding at Interview Mind Games and Getting the Job You Want

API

API é um conjunto de definições e protocolos usado no desenvolvimento e na integração de software de aplicações.

REST

O estilo de Transferência de Estado Representacional (REST) é uma abstração dos elementos arquiteturais de um sistema de distribuição de hipermídia.

Estruturas como URIs (Coleções vs Recursos vs Hierarquias)

  • /planos
  • /planos/1
  • /planos/1/dependentes/
  • /planos/1/dependentes/4

Obs: sempre utilizar substantivos e nunca verbos

  • /planos/cancelar (errado)

Padrões para URIs

  • Mantenha tudo em caixa baixa
  • Substitua espaços com hífens ou underscore

Representação

  • Deve ser consistentes (a mesma requisição deve retornar a mesma resposta caso o recurso não tenha sido modificado)
  • O conteúdo pode ser negociado

JSON

https://www.json.org/json-pt.html

Exemplo de JSON

{
"nome": "João da Silva",
"idade": "20",
"cidade": "São Paulo",
"estado": "SP",
"pais": "Brasil"
}

Exemplo 2

{
"cliente": 1,
"data": "2020-10-10",
"itens": [
{
"id": 1,
"nome": "Item 1",
"quantidade": 10,
"valor": 100.00
},
{
"id": 2,
"nome": "Item 2",
"quantidade": 20,
"valor": 200.00
}
]
}

Com isso terminamos a aula pela parte da manhã, vamos para o almoço e depois a aula continuou com a criação de um novo projeto, para ser a nossa API.

Esse projeto é um sistema para aulas online, começamos montando a parte da disciplina, criando os metodos GET para retornas todos os dados, POST, para criar uma nova disciplina, PUT para atualizar os dados da disciplina por inteiro e PATCHE para atualizar somente um dado, e por fim, DELETE para deletar a disciplina.

Verbos HTTP

Além de ver alguns dos verbos HTTPS, foi falado sobre os códigos de status HTTP.

Status HTTP

Com isso foi finalizado a aula.

Trabalho

As informações do trabalho estão na pagina da disciplina.
Link