Giter Club home page Giter Club logo

api_desafio's Introduction

API_desafio

API de listagem, cadastro e modificação de usuários
Tentei seguir ao máximo os princípios dos patterns SOLID, DRY, tentando manter o mínimo de acoplamento e repetimento de código
Como as opiniões a respeito de onde as regras de negócio ficam são indefinidas na internet, decidi me guiar pelo tutorial da Microsoft que deixa as lógicas no controller.
A criação e funcionamento foi finalizada no dia 3, ocorreram atrasos devido a refatoração do codigo para injeção de dependencias, mapeamento das classes com automapper e etc.

pacotes, libs e componentes usados

.NET framework 4.7.2
Unity - mapea os containers onde o DI vai ser usada
AutoMappper - mapeamento das classes DTO para a classe model de usuario
Data Annotations para a validaçao de todos os campos
Entity Framework que fica responsavel pelo mapeamento objeto-relacional do model usuario com o banco de dados.
o acesso aos dados é feito somente usando o Dbcontext do Entity Framework

critérios para executar a aplicação

A API segue o padrao REST com três metodos, POST, PUT e GET, no controller usuarioController.
metodo de Adição : POST localhost:{porta}/api/usuario/Adicionar
metodo de Atualização : PUT localhost:{porta}/api/usuario/Alterar
metodo de Listagem de todos os usuarios : GET localhost:{porta}/api/usuario/ExibirTodos
A API foi testada usando o Postman.

corpo da requisição

Adição :
	no body em JSON ->  {
						"Nome":"joao",
						"Login" : "joao123",
						"Matricula":"0123456789",
						"Senha":"senha",
						"Email":"[email protected]"
					  }

Atualização :
no body em JSON ->  {
					"Id" : "1",
					"Nome":"mudou2",
					"Login" : "mudou2",
					"Matricula":"9876543210",
					"Senha":"senha123",
					"Email":"[email protected]"
				  }
				  Obs.: Deve-se informar Id para que os outros campos possam ser alterados
					
Listagem :
retorno em JSON -> exemplo :
				{
					"Nome": "1mudado1",
					"Login": "1mudado1",
					"Email": "[email protected]"
				}
				Obs.: Escolhi mostrar apenas três campos para demonstrar que a classe DTO funciona.

api_desafio's People

Contributors

vitord 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.