REST (Representational State Transfer) je architektonický štýl používaný na tvorbu webových služieb. REST služby umožňujú klientom (napr. frontend aplikáciám) pristupovať k dátam a manipulovať s nimi cez jednoduché HTTP požiadavky ako GET, POST, PUT alebo DELETE.
Medzi hlavné výhody REST patrí:
REST je dnes štandardom v modernom webovom vývoji. Práve preto sa vyučuje aj v našom kurze zameranom na Java REST služby s Hibernate.
Vytvorenie REST služby začína založením Maven projektu. V Eclipse zvolíte New Project → Maven Project a nastavíte skupinu a názov projektu, napríklad:
groupId: sk.example artifactId: rest-demo
V súbore pom.xml následne definujete závislosti:
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.15.Final</version>
</dependency>
</dependencies>
Adresárová štruktúra by mala obsahovať src/main/java pre kód a src/main/resources pre konfigurácie.
Hibernate je ORM framework, ktorý mapuje triedy v Jave na databázové tabuľky. Najprv si vytvorte entitu napríklad User:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
Následne je potrebné nakonfigurovať Hibernate v súbore hibernate.cfg.xml a vytvoriť SessionFactory triedu na prácu s databázou.
Na vytvorenie REST metódy použijete anotácie z Jersey:
@Path("/users")
public class UserResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<User> getUsers() {
return userService.findAll();
}
@POST
@Consumes(MediaType.APPLICATION_JSON)
public void addUser(User user) {
userService.save(user);
}
}
@Path definuje cestu, @GET je pre čítanie údajov a @POST pre ich pridanie. @Consumes a @Produces určujú dátové formáty.
Po vytvorení aplikácie ju môžete nasadiť na lokálny server Apache Tomcat. V Eclipse nastavte „Run on Server“, alebo manuálne skopírujte .war súbor do adresára webapps.
Testovanie môžete vykonať:
http://localhost:8080/rest-demo/api/usersVyskúšajte náš kurz Java REST služby s Hibernate, kde sa naučíte vytvárať vlastné REST API, napojiť ho na databázu a vytvoriť jednoduchý frontend pomocou Angularu.
Viac informacií preberáme na kurze: