Swagger: Documentare un Web Services Rest

Swagger è un progetto open source utilizzato per generare la documentazione per microservizi. Fornisce un’interfaccia utente per accedere ai nostri servizi web RESTful tramite browser. Per abilitare Swagger nell’applicazione Spring Boot, è necessario aggiungere le seguenti dipendenze nel pom.xml

<!-- SWAGGER 2 -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.2</version>
		</dependency>
		<dependency>h
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.9.2</version>
		</dependency>
Continua a leggere

Spring Boot Application Properties File

I file di properties vengono utilizzati per dichiarare le proprietà dell’applicazione. In Spring Boot, il file usato per questo scopo è application.properties, si trova nella directory src / main / resources:

Di default è vuoto. Possiamo ad esempio inserire le seguenti proprietà:

server.port = 8085
spring.application.name = helloworldservice
Continua a leggere

Introduzione Spring Boot e Microservizi

Introduzione a Spring Boot e Microservizi

L’architettura a microservizi consiste nel dividere un’unica applicazione monolitica in tante piccole mini applicazioni, appunto detti microservizi.

Ogni microservizio deve saper svolgere un solo compito, o una serie di piccoli compiti inerenti ad esso.
La collaborazione tra questi microservizi genera il servizio finale che diamo all’utente.

Questo semplice principio scatena una serie di corollari, alcuni vantaggiosi, altri un po’ meno. Per esempio:

Continua a leggere

Spring – Form, Lista di Input

Spring non permette di stampare il contenuto di una lista e collegarlo ad un campo di input.

Un escamotage è usare il tag html <input> al posto di <form:input>:

[html]

<input name=”order.paymentTransactions[0].payerEmail” />

[/html]

dove [0] sarà una variabile che indica la posizione dell’array da stampare.

Non si può usare direttamente il tag di spring

[html]<form:input path=”order.paymentTransactions[0].payerEmail” name=”payerEmail”/>[/html]

perchè verra decodificato in:

[html]<input name=”order.paymentTransactions0.payerEmail” />

[/html]

Di seguito un esempio completo in cui stampiamo e rendiamo modificabili una lista di contatti di persone (contactForm.contacts), associandoli ai rispettivi campi:

[html]

<c:forEach items=”${contactForm.contacts}” var=”contact” varStatus=”status”>
<tr>
<td align=”center”>${status.count}</td>
<td><input name=”contacts[${status.index}].firstname”               value=”${contact.firstname}”/></td>
<td><input name=”contacts[${status.index}].lastname” value=”${contact.lastname}”/></td>
<td><input name=”contacts[${status.index}].email” value=”${contact.email}”/></td>
<td><input name=”contacts[${status.index}].phone” value=”${contact.phone}”/></td>
</tr>
</c:forEach>

[/html]

Spring 4 MVC REST Esempio Helloworld

REST, o Representional State Transfer, è una architettura usata per il design dei web  services. L’idea di base è che invece di usare delle tecnologie come CORBA, RPC o SOAP per far dialogare due applicazioni, si può usare semplicemente l’HTTP.
Quindi ipotizzando di avere un web services relativo ad un oggetto bean generico si ha:
HTTP POST —> Crea bean
HTTP GET —> Visualizza bean
HTTP PUT —> Update bean
HTTP DELETE –> Delete bean
In genere, la response è in formato JSON o XML.
Vediamo come integrare la tecnologia REST con Spring 4 MVC

Tecnologie Usate

apache tomcat 7.068
Spring 4.2.0.RELEASE

 

Creazione Progetto

Dal meù File/New/Other  cliccare su “Maven Project” spring-mvc-file-upload-1
Continua a leggere

Spring Angularjs HelloWorld

AngularJS è un popolare framework javascript, creato e mantenuto da Google, per applicazioni mobile e rich user interfaces.
Questo tutorial illustra come utilizzare e integrarlo con Spring MVC.
In particolare si mostrerà come accedere al controller Spring MVC e visualizzare i dati di un bean.

Creazione Progetto

Dal meù File/New/Other  cliccare su “Maven Project” spring-mvc-file-upload-1
Continua a leggere

Spring Security Login Esempio

Cosa è Spring Security?

Spring Security è un framework per  la sicurezza delle applicazioni web.

Database

File di creazione della base dati in base al tipo di database

  • Oracle

CREATE DATABASE prova<br />-- Create table<br />create table USERS<br />(<br />USERNAME VARCHAR2(36) not null,<br />PASSWORD VARCHAR2(36) not null,<br />ROLE VARCHAR2(36) not null,<br />PRIMARY KEY(USERNAME)<br />) ;</p>
<p>insert into users (USERNAME, PASSWORD, ROLE)<br />values ('dbuser1', '12345', 'ROLL_USER');</p>
<p>insert into users (USERNAME, PASSWORD, ROLE)<br />values ('dbadmin1', '12345', 'ROLL_ADMIN');</p>
<p>Commit;

  • MySql

CREATE DATABASE prova;<br />-- Create table<br />create table USERS<br />(<br />USERNAME VARCHAR(36) not null,<br />PASSWORD VARCHAR(36) not null,<br />ROLE VARCHAR(36) not null,<br />PRIMARY KEY(USERNAME)<br />) ;</p>
<p>insert into users (USERNAME, PASSWORD, ROLE)<br />values ('dbuser1', '12345', 'ROLL_USER');</p>
<p>insert into users (USERNAME, PASSWORD, ROLE)<br />values ('dbadmin1', '12345', 'ROLL_ADMIN');

  • SqlServer

CREATE DATABASE prova;<br />-- Create table<br />create table USERS<br />(<br />USERNAME VARCHAR(36) not null,<br />PASSWORD VARCHAR(36) not null,<br />ROLE VARCHAR(36) not null,<br />PRIMARY KEY(USERNAME)<br />) ;</p>
<p>insert into users (USERNAME, PASSWORD, ROLE)<br />values ('dbuser1', '12345', 'ROLL_USER');</p>
<p>insert into users (USERNAME, PASSWORD, ROLE)<br />values ('dbadmin1', '12345', 'ROLL_ADMIN');

Creazione Progetto

Dal meù File/New/Other  cliccare su “Maven Project

Continua a leggere