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/users
Vyskúš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: