Tratamentos de erro
Tratamento de erros | |
PARA DADOS INCONSISTENTES | Apenas validação com @valid notBlank e Notnull |
Tratamento para maiúsculas e minúsculas | Não implementado, respeitar maiúsculas e minúsculas nos requests |
Tratamento para query “like” %% | não implementado |
Ao cadastrar veículo | Tipo de veículo não encontrado |
Placa já cadastrada | |
Ao cadastrar tipo | Tipo já cadastrado (nome) |
Ao deletar Veículo e tipo | Veículo ou tipo não encontrado |
Ao buscar veículo por código ou placa | Não encontrado |
Ao buscar tipo por código ou nome | Não encontrado |
exceptions | Feito um exemplo, não aplicado |
Documentação API
Veículos | Método | URL | JSON |
Busca Todos os Veículos | GET | /vehicles | Implementado paginação caso necessário padrão : page 0, size 10 |
Busca Veículos por placa | GET | /vehicles/plate/{id} | |
Busca veículos por ID | GET | /vehicles/{id} | |
Edita veículos | PUT | /vehicles/{id} | { "vehicleName": "Nome Veículo", "vehicleDesc": "Descrição Veículo", "vehicleType": 0, "vehiclePlate": "ASF4ID7" } //placa @Size(max = 7) //vehicleType referencia o código do tipo do veículo tipo INT |
Deletar Veículos | DELETE | /vehicles/{id} | |
Cadastra Veículos | POST | /vehicles | { "vehicleName": "Nome Veículo", "vehicleDesc": "Descrição Veículo", "vehicleType": 0, "vehiclePlate": "ASF4ID7" } //placa @Size(max = 7) //vehicleType referencia o código do tipo do veículo tipo INT |
Tipos | Método | URL | JSON |
Busca Tipo por nome | GET | vehiclesType/name{id} | |
Busca Tipos por ID | GET | /vehiclesType/{id} | |
Editar Tipos | PUT | /vehiclesType/{id} | { "vehicleTypeName": "BMW", "vehicleTypeDesc": "descrição ..." } |
Deletar Tipos | DELETE | /vehiclesType/{id} | |
Cadastrar tipos | POST | /vehiclesType | { "vehicleTypeName": "BMW", "vehicleTypeDesc": "descrição ..." } |
Busca Todos os Tipos | GET | /vehiclesType | Implementado paginação caso necessário padrão : page 0, size 10 |
BD
Banco de dados RDS | |
URL | vehicles.c5wwffeqiq54.us-east-1.rds.amazonaws.com |
Porta | 5432 |
Username | ************ |
Password | ******** |
LINKS
ITEM | LINK |
API JAVA na AWS | |
GitHub | |
Descrições da OpenAPI | |
Springdoc-openapi | |
Front-end apenas para teste, porém faria em Angular ou React para produção NÃO ESTÁ COMPLETO usar Posman ou Insomina |
<style type="text/css">ol{margin:0;padding:0}table td,table th{padding:0}.c26{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;background-color:#ffff00;border-left-style:solid;border-bottom-width:1pt;width:104.1pt;border-top-color:#000000;border-bottom-style:solid}.c30{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:0pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:399.8pt;border-top-color:#808080;border-bottom-style:solid}.c18{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:middle;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:87.4pt;border-top-color:#000000;border-bottom-style:solid}.c25{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:middle;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:104.1pt;border-top-color:#000000;border-bottom-style:solid}.c45{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#808080;vertical-align:top;border-right-color:#000000;border-left-width:0pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:197.5pt;border-top-color:#000000;border-bottom-style:solid}.c6{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:247pt;border-top-color:#000000;border-bottom-style:solid}.c31{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:173.8pt;border-top-color:#000000;border-bottom-style:solid}.c20{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:399.8pt;border-top-color:#000000;border-bottom-style:solid}.c22{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:197.5pt;border-top-color:#000000;border-bottom-style:solid}.c34{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:179.2pt;border-top-color:#000000;border-bottom-style:solid}.c5{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:middle;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:86pt;border-top-color:#000000;border-bottom-style:solid}.c36{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:87.4pt;border-top-color:#000000;border-bottom-style:solid}.c35{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:73.5pt;border-top-color:#000000;border-bottom-style:solid}.c1{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:108pt;border-top-color:#000000;border-bottom-style:solid}.c42{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:middle;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:197.5pt;border-top-color:#000000;border-bottom-style:solid}.c32{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:middle;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:473.2pt;border-top-color:#000000;border-bottom-style:solid}.c41{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:86pt;border-top-color:#000000;border-bottom-style:solid}.c39{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:middle;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:444.5pt;border-top-color:#000000;border-bottom-style:solid}.c9{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:0pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:247pt;border-top-color:#808080;border-bottom-style:solid}.c21{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c0{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:10pt;font-family:"Arial";font-style:normal}.c2{padding-top:0pt;padding-bottom:0pt;line-height:1.15;orphans:2;widows:2;text-align:left;height:11pt}.c16{text-decoration-skip-ink:none;font-size:10pt;-webkit-text-decoration-skip:none;color:#1155cc;text-decoration:underline}.c12{font-size:10.5pt;font-family:"Courier New";color:#ff79c6;font-weight:400}.c4{padding-top:0pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c10{margin-left:-0.8pt;border-spacing:0;border-collapse:collapse;margin-right:auto}.c13{font-size:10.5pt;font-family:"Courier New";color:#bd93f9;font-weight:400}.c38{border-spacing:0;border-collapse:collapse;margin-right:auto}.c11{font-size:10.5pt;font-family:"Courier New";color:#f8f8f2;font-weight:400}.c3{padding-top:0pt;padding-bottom:0pt;line-height:1.15;text-align:left}.c14{background-color:#ffffff;max-width:451.4pt;padding:72pt 72pt 72pt 72pt}.c33{color:inherit;text-decoration:inherit}.c17{orphans:2;widows:2}.c23{font-size:10pt;font-weight:700}.c8{height:18pt}.c29{background-color:#ffff00}.c15{height:23.2pt}.c43{font-size:10pt}.c40{height:29.5pt}.c19{height:22.8pt}.c27{height:31.7pt}.c37{background-color:#f4cccc}.c44{height:26.2pt}.c28{height:103.8pt}.c7{height:11pt}.c46{height:89.5pt}.c24{height:56.5pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}</style>