Gerador de frases do Monty Python utilizando Spring Boot e JPA
help
{{apiData.me.position}}˚ no Ranking
profile pic account_circle
Login Comece agora
Iniciar Desafio Iniciar Desafio Fórum
{{apiData.participant_count}} Participantes
Criado Por: Created by Daniel Blank
Java
Spring Boot
JPA

Gerador de frases do Monty Python

Monty Python foi um dos grupos de comediantes mais influentes e reverenciados da história da TV. Vamos criar uma API para gerar frases aleatórias coletadas dos episódios da trupe, de acordo com nosso ator favorito.

Tópicos

Neste desafio você aprenderá:

  • Java
  • Criar APIs
  • Testar APIs
  • Ler dados de um banco de dados
  • Spring Boot
  • JPA

Requisitos

​ Para este desafio você precisará de:

  • Java 8 (ou superior)
  • Git

Detalhes

Banco de dados H2 com uma tabela chamada scripts com a estrutura:

CREATE TABLE IF NOT EXISTS "scripts" (
  "id" INTEGER PRIMARY KEY,
  "episode" INTEGER,
  "episode_name" TEXT,
  "segment" TEXT,
  "type" TEXT,
  "actor" TEXT,
  "character" TEXT,
  "detail" TEXT,
  "record_date" TIMESTAMP,
  "series" TEXT,
  "transmission_date" TIMESTAMP
);
CREATE INDEX "ix_scripts_index"ON "scripts" ("index");

Na coluna detail estão as frases que devem ser apresentadas pela API. Na coluna actor, consta o nome do ator.

A API deve responder pelas seguintes URLs:

/v1/quote

Método: GET

Retorna uma frase aleatória de qualquer ator.

/v1/quote/{actor}

Método: GET

Retorna uma frase aleatória do ator passado como parâmetro.

O formato esperado em ambas URLs é uma Response JSON:

{"actor":"John Cleese","quote":"Yes, cigarettes. My hovercraft is full of eels."}

Rodando a aplicação

Executar o comando gradlew bootRun

A aplicação estará disponível em http://localhost:8080

codenation code review

Para receber Code review, compartilhe o link abaixo com colegas ou em nosso fórum de discussões:

codenation code review

Para receber Code review, você precisa primeiramente finalizar o desafio.

{{apiData.participant_count}} Participantes

Para definir seu posicionamento no ranking do desafio, utilizaremos a nota mais alta que tiver conquistado nele. Caso outra pessoa participante obtenha a mesma nota que a sua, o critério de desempate será data e hora de envio da mais recente.

empty ranking Ainda não temos participantes suficientes para o ranking!
Aproveite e seja um dos primeiros a participar desse desafio.
CODE:NOME NOTA
{{candidate.position}}. {{candidate.name}} {{candidate.score.toFixed(2)}}%
Spring Boot

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can 'just run'.

Building a RESTful Web Service

This guide walks you through the process of creating a 'hello world' RESTful web service with Spring.

Accessing Data with JPA

This guide walks you through the process of building an application that uses Spring Data JPA to store and retrieve data in a relational database.

Spring Data JPA

Spring Data JPA - Reference Documentation

JPA Tutorial: Mapping Entities

JPA Tutorial: Mapping Entities