Coder Social home page Coder Social logo

dccouto / apicontrolepatrimonio Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 139 KB

API de controle de patrimônio. O objetivo da API é disponibilizar os recursos para o controle de patrimônio de uma empresa.

Java 100.00%
metamodel specification springboot

apicontrolepatrimonio's Introduction

Desafio Java - REST API - Patrimônio

O [patrimônio] disponibiliza uma API REST que disponibliza os recursos para realizar o controle de inventário de uma empresa ou afins.

Recursos disponíveis para acesso via API:

Informações importantes

Configuração de ambiente

  • Java 11
  • Lombok
  • Executar comando: mvn clean compile para gerar o Metamodel

Banco de dados

  • A API utiliza banco de dados em memória, não sendo necessário a instalação do mesmo.
  • Ao iniciar a aplicação a API irá popular a base de dados com algumas entradas para teste. O arquivo está no diretório src/main/resources/data.sql
  • Usuario padrão pré cadastrado: username [email protected] senha:123456
  • Para acessar o Banco de dados utilize o link: http://localhost:8080/h2-console/login.jsp
  • Dados para acesso JDBC URL: jdbc:h2:mem:navita-patrimonio User Name: sa

Métodos

Requisições para a API devem seguir os padrões:

Método Descrição
GET Retorna informações de um ou mais registros.
POST Utilizado para criar um novo registro.
PUT Atualiza dados de um registro ou altera sua situação.
DELETE Remove um registro do sistema.
  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      

Autenticação

Nossa API utiliza [JSON Web Token] como forma de autenticação/autorização.

Para utilizar a API, você precisará utilizar uma das seguintes opções:

  1. Utilizar um dos usuários pré-cadastrado na base de dados:

  2. Cadastrar um email, senha e definir um nome de usuário, utilizados na solicitação de acesso;

  • Request (application/json) (POST)

  • Response 200 (application/json)

    • Body

        {
        	"token": "eyJhbGciOiJIUzI1NiJ9.eyJpc3MMTM5MzI1NzIsImV4cCI6MTYxMzk0MjU3Mn0.R2TOATe_6GrZhLFoHes6xI2YX_jj8jJKt7EzRqPfwhU",
        	"tipo": "Bearer"					
        }
      

Para realizar o login deve-se informa o e-mail e a senha.


Group Recursos

Usuario [/api/usuario]

Cadastra um novo usuário no sistema

Criar usuário (Create) [POST /cadastrar]

http://localhost:8080/api/usuario/cadastrar

  • Attributes (object)

    • nome: nome do usuário (string, required)
    • email: email do usuario que será utilizado para realizar o login (string, required)
    • senha: senha do usuário (string, required)
  • Request (application/json)

    • Body
     {
         "nome": "user_1",
         "email": "[email protected]",
         "senha": "123456"
     }
  • Response 201 (application/json)

Marca [/api/marca]

As marcas que podem ser consultadas e adicionadas referentes ao itens do inventário.

Cadastrar marca (Create) [POST /cadastrar]

http://localhost:8080/api/marca/cadastrar

  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
    • Body

     {
         "nome": "Dell"
     }
  • Response 201 (application/json)

    • Body
     {
         "idMarca": 1,
         "nome": "Dell"
     }
  • Response 204 (application/json)

Listar todas as Marcas cadastradas (Read) [GET]

http://localhost:8080/api/marca

  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
  • Response 200 (application/json)

    • Body
     [
         {
     	"idMarca": 1,
     	"nome": "Dell"
         },
         {
     	"idMarca": 2,
     	"nome": "CCE"
         }
     ]

Buscar marca por id (Read) [GET /{id}]

http://localhost:8080/api/marca/1

  • Parameters

    • id (required, id, 1) ... ID da Marca
  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
  • Response 200 (application/json)

    • Body
     {
         "idMarca": 1,
         "nome": "Dell"
     }

Atualizar marca (Update) [PUT /atualizar/{id}]

http://localhost:8080/api/marca/atualizar/1

  • Parameters

    • id (required, number, 1) ... ID da Marca
  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
    • Body

     {
         "nome": "Lenovo"
     }
  • Response 200 (application/json)

    • Body
     {
         "idMarca": 1,
         "nome": "Lenovo"
     }

Patrimônio [/api/patrimonio]

Cria e consulta as informações do patrimônio

Cadastrar informações do objeto a ser inventariado (Create) [POST /cadastrar]

http://localhost:8080/api/patrimonio/cadastrar

  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
    • Body

     {
         "nome": "Monitor",
         "descricao": "sala de TI3",
         "marca": {
     	"idMarca": 1
         }
     }
  • Response 201 (application/json)

    • Body
     {
         "idPatrimonio": 3,
         "nome": "Monitor",
         "descricao": "sala de TI3",
         "numeroTombo": 3,
         "marca": {
     	"idMarca": 1,
     	"nome": null
         }
     }

Listar todas os Patrimônios cadastrados (Read) [GET /buscar]

http://localhost:8080/api/patrimonio/buscar

  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
  • Response 200 (application/json)

    • Body
     [
         {
     	"idMarca": 1,
     	"nome": "Monitor",
     	"descricao": "sala de TI3",
     	"numeroTombo": 1,
     	"marca": {
     	    "idMarca": 1,
     	    "nome": "Dell"
     	}
         },
         {
     	"idMarca": 2,
     	"nome": "Teclado",
     	"descricao": "sala de Conferência",
     	"numeroTombo": 2,
     	"marca": {
     	    "idMarca": 1,
     	    "nome": "Dell"
     	}
         }
     ]

Listar o Patrimônio cadastrado por ID (Read) [GET /buscar/{id}]

http://localhost:8080/api/patrimonio/buscar/1

  • Parameters

    • id (required, number, 1) ... ID do Patrimônio
  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
  • Response 200 (application/json)

    • Body
     {
         "idPatrimonio": 1,
         "nome": "Monitor",
         "descricao": "sala de TI3",
         "numeroTombo": 1,
         "marca": {
     	"idMarca": 1,
     	"nome": "Lenovo"
         }
     }

Buscar o Patrimônio cadastrado por número do inventário (Read) [GET /buscar/numero-tombo/{id}]

http://localhost:8080/api/patrimonio/buscar/numero-tombo/1

  • Parameters

    • id (required, number, 1) ... Numero do inventário
  • Request (application/json)

    • Headers

        Authorization: Bearer [access_token]
      
  • Response 200 (application/json)

    • Body
     {
         "idPatrimonio": 1,
         "nome": "Monitor",
         "descricao": "sala de TI3",
         "numeroTombo": 1,
         "marca": {
     	"idMarca": 1,
     	"nome": "Lenovo"
         }
     }

Início

apicontrolepatrimonio's People

Contributors

dccouto avatar

Watchers

James Cloos avatar  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.