05.01.2017 Views

EDITORIAL

Revista_54

Revista_54

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A PROGRAMAR<br />

API REST COM SPRING BOOT (PARTE 1)<br />

nossa aplicação para outros RDBMS).<br />

Quanto ao código para tratamento da nossa pequena<br />

base de dados, estamos concluídos, no entanto neste momento<br />

ainda não informamos o Spring qual a base de dados que<br />

estamos a utilizar e como aceder a ela.<br />

Após gravarmos o application.properties podemos<br />

lançar o nosso projecto, e se tudo tiver corrido bem, não<br />

teremos qualquer erro, a ligação à base de dados irá ser<br />

efetuada e o apache Tomcat iniciar-se-á. O projecto deverá<br />

ser executado como uma aplicação JAVA ou com uma<br />

Spring Boot Application.<br />

Logo no inicio deste artigo mencionamos que o Spring<br />

Boot criou 2 ficheiros. Um deles era o application.properties.<br />

É precisamente este ficheiro que, por defeito,<br />

uma aplicação Spring Boot utiliza para lêr diversas configurações<br />

incluindo a forma de ligar com a base de dados.<br />

Se a sua janela de consola não apresentar qualquer<br />

tipo de erro, deverá ser idêntica à imagem. Isso significa que<br />

estamos no bom caminho.<br />

Inicialmente este ficheiro estará completamente vazio.<br />

Vamos então abri-lo e declarar as definições que nos interessam<br />

neste momento.<br />

No final o ficheiro application.properties deverá conter o<br />

código apresentado<br />

#Coloque aqui a informação referente à ligação à<br />

base de dados.<br />

spring.datasource.url = jdbc:mysql://<br />

localhost:3306/empresa_x?<br />

autoReconnect=true&useSSL=false<br />

#Coloque o nome de utilizador e a password de acesso<br />

à base de dados.<br />

spring.datasource.username = (o nome de utilizador<br />

na sua base de dados)<br />

spring.datasource.password = (a password referente<br />

ao utilizador acima)<br />

#Mostrar o log de cada query sql<br />

spring.jpa.show-sql = true<br />

# Hibernate ddl auto (create, create-drop, update)<br />

spring.jpa.hibernate.ddl-auto = update<br />

# Estratégia de Naming do hibernate<br />

spring.jpa.hibernate.naming.strategy =<br />

org.hibernate.cfg.ImprovedNamingStrategy<br />

# O dialecto SQL para que o hibernate gere o melhor<br />

SQL para a base de dados em uso.<br />

spring.jpa.properties.hibernate.dialect =<br />

org.hibernate.dialect.MySQL5Dialect<br />

Certifique-se que coloca o nome de utilizador e respetiva<br />

password (sem os parêntesis) da sua base de dados, nos<br />

campos:<br />

spring.datasource.username = (o nome de utilizador<br />

na sua base de dados)<br />

spring.datasource.password = (a password referente<br />

ao utilizador acima)<br />

Experimente lançar o browser apontando-o para<br />

http://localhost:8080. Deverá obter uma mensagem de erro<br />

genérica (WhiteLabel), pois ainda não criamos os endpoints<br />

da nossa API.<br />

Caso algum erro ocorra, reveja atentamente os passos<br />

descritos, certificando-se especialmente que não houve<br />

esquecimento de alguma das anotações que são fundamentais<br />

ao Spring.<br />

Chegados a este ponto, cabe-nos agora implementar<br />

os nossos pontos de entrada na API, e para isso devemos<br />

dedicar algum tempo a pensar na semântica a utilizar nos<br />

URL por forma a que quando outros programadores utilizem<br />

a nossa API, possam ter a vida simplificada. Comecemos por<br />

pensar um pouco no endereço base que devemos utilizar<br />

para a nossa API.<br />

Vamos considerar o endereço: http://localhost/8080<br />

Numa situação normal, este endereço provavelmente<br />

estaria ocupado com à página inicial da nossa aplicação,<br />

logo o ideal será adicionarmos o termo API ao path do URL,<br />

ficando o mesmo com o aspeto http://localhost:8080/api.<br />

Tendo em conta que as boas práticas nos ensinam que devemos<br />

sempre atribuir uma versão as nossas API, pois mais<br />

tarde pode ser necessário efetuar alterações, sem que apli-<br />

20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!