SB NAL Flashcards
Ao criar um novo projeto Spring, qual dependência provê recursos para criação de um backend restful?
Web / Spring Web
Qual a nomenclatura padrão para um controlador rest?
NomeEntidadeResource dentro de main/java/resources
Quais anotações vão em uma classe controladora rest?
@RestController e @RequestMapping(value=”/entidades”)
Caso URI tenha mais de uma palavra, utilizar kebab-case
Qual anotação vai num método endpoint rest?
@RequestMapping(method=RequestMethod.GET)
… ou POST
O que deve ser criado durante a implementação de uma nova entidade?
Atributos, associações (se coleção inicializar), construtores sem coleções, getters e setters, hashCode e equals, serializable padrão
Em qual pacote vão as classes de domínio?
main/java/domain
Quais são as anotações básicas para o mapeamento OR / JPA de uma entidade?
@Entity (javax) no class
@Id @GeneratedValue(strategy=GenerationType.IDENTITY) no id
Quais são as chaves (chave-valor) básicas no application-properties?
spring. datasource. (url,username,password)
spring. jpa. (show-sql, properties.hibernate.format_sql)
Como se organizam as camadas numa aplicação restful?
Frontend «_space; »_space; Controladores rest (resource) -instancia-> Serviço (service) -instancia-> DAO (repo)
Em qual pacote vão as classes de acesso a dados?
Qual o padrão de nomenclatura?
main/java/repositories
NomeEntidadeRepository
Qual anotação básica deve conter uma interface de acesso a dados? Qual classe deve estender?
@Repository (também troca de class para interface e estende JpaRepository )
Qual a nomenclatura padrão para um serviço rest?
NomeEntidadeService dentro de main/java/services
Quais anotações vão em uma classe service rest?
@Service
Quando alguém dá post em um novo resource, que resposta o endpoint deve dar?
Uma response 201 CREATED e o link para recuperar/get o recurso recém criado.
Não sendo possível dar o link, uma resposta 202 ACCEPTED apenas.
Considerando que o método repo.save(obj) do spring data serve tanto para salvar como atualizar, como garantir que a operação será um save ou update?
No service, antes do repo.save(obj) setar o id do obj para nulo quando quiser salvar, ou garantir que o id seja existente quando quiser atualizar.