Git Product home page Git Product logo

builders-customer-api's Introduction

builders-customer-api

Spring Rest API to Manage Customers

Tecnologias utilizadas:

  • Java 8
  • Spring Boot
  • Spring Web
  • Spring HATEOAS
  • Lombok
  • ModelMapper
  • Validation
  • Swagger
  • JUnit
  • Rest Assured
  • PostgreSQL

Visão Geral: API desenvolvida para gerenciamento de clientes, com oção de criar, alterar, listar todos, listar por paginação, listar por filtros e pesquisar pelo id.

Detalhes do projeto:

  • Utilizei a interface ControllerAdvice para capturar as exceções e dar uma resposta mais amigável no retorno da requisição.
  • Na criação do cliente, o campo "name" é obrigatório. Caso não seja informado, retornará um BAD_REQUEST (400) com detalhes na reposta.
  • A alteração pode ser realizada de forma completa (todos os campos) ou de forma parcial (um ou mais campos). Caso não seja localizado o cliente com o "id" informado, retornará um NOT_FOUND (404) com detalhes na resposta.
  • A listagem de todos os clientes, retornará o erro NOT_FOUND (404) caso não tenha clientes cadastrados.
  • A listagem por paginação está definida com o padrão da interface Pageable, onde a página inicial é 0. Também retornará o erro NOT_FOUND (404) caso não tenha clientes cadastrados.
  • A listagem por filtros tem como opcionais todos os campos de pesquisa. Caso não seja informado nenhum campo, trará todos os clientes cadastrados. Caso o resultado da consulta seja vazio, irá retornar o erro NOT_FOUND (404).
  • A pesquisa pelo id irá retornar um cliente específico. Caso o id não corresponda a nenhum cliente no cadastro, retornará o erro NOT_FOUND (404).
  • As requisições de listagem e pesquisa pelo id utilizam o padrão HATEOAS. Os itens das listagens possuem link com o id para o registro individual, a requisição que pesquisa pelo id e lista o item individual possui link para a listagem completa.

Requisições no Postman: https://www.getpostman.com/collections/9ca3bfd3776bdde74178

builders-customer-api's People

Contributors

tonelima avatar

Watchers

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