GithubHelp home page GithubHelp logo

giseletoledo / academiacx Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 221 KB

A API de Gerenciamento de Filmes é uma aplicação para gerenciar informações sobre filmes, incluindo detalhes como título, gênero, estúdio, diretores, elenco, serviço de streaming, entre outros

Home Page: https://documenter.getpostman.com/view/10265749/2sA35G4hp5#899e9cc6-5b6e-41b1-895d-ed552c732312

Java 100.00%
api h2-database java postman spring

academiacx's Introduction

API de Gerenciamento de Filmes

Descrição

A API de Gerenciamento de Filmes é uma aplicação para gerenciar informações sobre filmes, incluindo detalhes como título, gênero, estúdio, diretores, elenco, serviço de streaming, entre outros. Obs: Descrição da API atualizada no link do postman na descrição ao lado.

🛠 Tecnologias

  • Java 17
  • JPA
  • Banco de dados H2
  • Postman

Recursos Disponíveis

Filmes: Os filmes são a entidade principal da API e possuem diversos atributos para descrever suas características.
Usuários: Usuários podem adicionar os filmes favoritos

Endpoints da API

Endpoint do Usuário

GET /users

Este endpoint envia uma solicitação HTTP GET para recuperar uma lista de usuários do servidor. Security, colocar user e senha o código gerado, em progresso a funcionalidade.

Requisição

  • Método: GET
  • URL: http://localhost:8080/users

Resposta

A resposta será em formato JSON com uma matriz de objetos de usuário, cada um contendo os seguintes campos:

  • id: O identificador único do usuário.
  • name: O nome do usuário.
  • username: O nome de usuário do usuário.
  • email: O endereço de e-mail do usuário.
  • password: A senha do usuário.

O status da última execução foi 200, indicando uma solicitação bem-sucedida.

Exemplo de Resposta

[
    {
        "id": 1,
        "name": "João Silva",
        "username": "joaosilva",
        "email": "[email protected]",
        "password": "senha123"
    },
    {
        "id": 2,
        "name": "Maria Souza",
        "username": "mariasouza",
        "email": "[email protected]",
        "password": "senha456"
    }
]

GET /movies: Retorna todos os filmes cadastrados.
GET /movies/{id}: Retorna os detalhes de um filme específico com base no seu ID.
POST /movies: Adiciona um novo filme ao sistema.
PUT /movies/{id}: Atualiza as informações de um filme existente com base no seu ID.
DELETE /movies/{id}: Remove um filme do sistema com base no seu ID.

  1. Listar todos os filmes: Faça uma requisição GET para /movies para obter uma lista de todos os filmes cadastrados.

  2. Obter detalhes de um filme específico: Faça uma requisição GET para /movies/{id}, onde {id} é o ID do filme desejado, para obter os detalhes desse filme específico.

  3. Criar um novo filme: Faça uma requisição POST para /movies com os dados do novo filme no corpo da requisição em formato JSON.

  4. Atualizar informações de um filme: Faça uma requisição PUT para /movies/{id}, onde {id} é o ID do filme que você deseja atualizar, e inclua os novos dados do filme no corpo da requisição em formato JSON.

  5. Excluir um filme: Faça uma requisição DELETE para /movies/{id}, onde {id} é o ID do filme que você deseja excluir.

ID Title Genre ID Genre Name Studio ID Studio Name Studio Country Franchise ID Franchise Name Franchise Genre ID Franchise Genre Name Franchise Studio ID Franchise Studio Name Franchise Studio Country Streaming ID Streaming Name Streaming URL Actor ID Actor Name
1 Vingadores: Ultimato 1 Ação 1 Marvel Studios EUA 1 Marvel Cinematic Universe 1 Ação 1 Marvel Studios EUA 1 DisneyPlus http://www.disneyplus.com.br 1 1 Samuel L. Jackson
2 Homem-Aranha: Sem Volta Para Casa 1 Ação 1 Marvel Studios EUA 1 Marvel Cinematic Universe 1 Ação 1 Marvel Studios EUA 1 DisneyPlus http://www.disneyplus.com.br 1 2 Tom Holland

Como Usar

Restrições e Pré-requisitos

Antes de cadastrar um filme na API, é necessário observar algumas restrições e pré-requisitos devido à estrutura do banco de dados:

Restrições:

Cadastro de Gênero e Estúdio: Antes de cadastrar um filme, é necessário que o gênero e o estúdio associados ao filme já estejam cadastrados na API. O filme deve ser atribuído a um gênero existente e a um estúdio existente.

Cadastro de Franchise (Franquia): Se o filme pertencer a uma franquia específica, tanto o gênero quanto o estúdio associados à franquia devem ser cadastrados previamente na API.

Cadastro de Atores e Diretores: Os atores e diretores que participam do filme devem estar cadastrados na API antes de serem associados a um filme.

Pré-requisitos:

Cadastre os Gêneros, Estúdios, Franchises, Atores e Diretores relevantes antes de cadastrar um novo filme.

Certifique-se de que todas as informações necessárias estão disponíveis antes de realizar o cadastro de um filme.

Por favor, observe essas restrições e pré-requisitos ao utilizar a API para garantir o correto funcionamento das operações de cadastro de filmes.

Endpoint de Filmes

GET /movies

Este endpoint envia uma solicitação HTTP GET para recuperar uma lista de filmes do servidor.

Requisição

  • Método: GET
  • URL: http://localhost:8080/movies

Resposta

A resposta será em formato JSON com uma matriz de objetos de filme, cada um contendo os seguintes campos:

  • id: O identificador único do filme.
  • title: O título do filme.
  • genre: Detalhes sobre o gênero do filme, incluindo id e genreName.
  • studio: Detalhes sobre o estúdio que produziu o filme, incluindo id, name e country.
  • franchise: Detalhes sobre a franquia à qual o filme pertence, incluindo id, name, genre e studio.
  • streaming: Detalhes sobre a plataforma de streaming do filme, incluindo id, name e url.
  • actors: Uma matriz de objetos contendo detalhes sobre os atores no filme, cada um com id e name.
  • directors: Uma matriz de objetos contendo detalhes sobre os diretores do filme, cada um com id e name.

O status da última execução foi 200, indicando uma solicitação bem-sucedida.

Exemplo de Resposta

[
    {
        "id": 1,
        "title": "Vingadores: Ultimato",
        "genre": {
            "id": 1,
            "genreName": "Ação"
        },
        "studio": {
            "id": 1,
            "name": "Marvel Studios",
            "country": "EUA"
        },
        "franchise": {
            "id": 1,
            "name": "Marvel Cinematic Universe",
            "genre": {
                "id": 1,
                "genreName": "Ação"
            },
            "studio": {
                "id": 1,
                "name": "Marvel Studios",
                "country": "EUA"
            }
        },
        "streaming": {
            "id": 1,
            "name": "DisneyPlus",
            "url": "http://www.disneyplus.com.br"
        },
        "actors": [
            {
                "id": 1,
                "name": "Samuel L. Jackson"
            },
            {
                "id": 2,
                "name": "Brie Larson"
            },
            {
                "id": 3,
                "name": "Chris Evans"
            }
        ],
        "directors": [
            {
                "id": 1,
                "name": "Joe Russo"
            },
            {
                "id": 2,
                "name": "Anthony Russo"
            }
        ]
    },
    {
        "id": 2,
        "title": "Homem-Aranha: Sem Volta Para Casa",
        "genre": {
            "id": 1,
            "genreName": "Ação"
        },
        "studio": {
            "id": 1,
            "name": "Marvel Studios",
            "country": "EUA"
        },
        "franchise": {
            "id": 1,
            "name": "Marvel Cinematic Universe",
            "genre": {
                "id": 1,
                "genreName": "Ação"
            },
            "studio": {
                "id": 1,
                "name": "Marvel Studios",
                "country": "EUA"
            }
        },
        "streaming": {
            "id": 1,
            "name": "DisneyPlus",
            "url": "http://www.disneyplus.com.br"
        },
        "actors": [
            {
                "id": 1,
                "name": "Samuel L. Jackson"
            },
            {
                "id": 2,
            }
         ]
        }

academiacx's People

Contributors

giseletoledo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.