Giter Club home page Giter Club logo

shorturl's Introduction

ShortUrl

Encurtador de URL

Aplicação criada utilizando:

  • SpringBoot (2.1.4) + SpringData + Flyway + MySQL (5.7.25)
  • IDE Netbeans 11.0
  • Java OpenJDK 11

Requisitos

  • MySQL
  • Java 9

Funcionamento

A aplicação utiliza a porta :8080 para seu funcionamento.

Endpoints

  • /api/v2/shortener // API para criação de URL's encurtadas
  • /swagger-ui.html // Documentação gerada automáticamente para realização de testes com a API
  • /r/{alias} // Redirecionamento para URL encurtada, onde {alias} é a identificação cadastrada pelo usuário

Testando a API

Para testes foi implementado o Swagger v2.0 para geração automática da documentação e implementação dos endpoints no caminho '/swagger-ui.html'

Assim que a aplicação é iniciada, é fornecido um endpoint para cadastro de urls no caminho '/api/v2/shortener'

Corpo da mensagem a ser enviada ao endpoint '/api/v2/shortener' utilizando Bearer Token:

OBS: Por não ter uma persistência para os tokens, qualquer valor utilizado será autorizado

{ 
  "alias": string,  // Campo de identificação única para uma URL personalizada;
  "url" : string    // URL (Válida) na qual a aplicação irá redirecionar
}

OBS: O Campo da url possui um validador utilizando o RegEx ^(http://|https://)?(www.)?([a-zA-Z0-9]+).[a-zA-Z0-9]*.[a-z]{2}.?([a-zA-Z]+)?$

Corpo da mensagem de resposta do servidor:

{
  "timestamp": long,
  "status": int,
  "data": string, // URL encurtada
  "error": string,
  "errors": array
}

Screenshot (via Postman)

Exemplo de uma requisição POST

(Printscreen de uma requisição POST feita a partir do Postman com sua respectiva resposta)

Screenshot Post

Exemplo de uma requisição GET

(Printscreen de uma requisição GET feita a partir do Postman com sua respectiva resposta)

Screenshot Get

shorturl's People

Contributors

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