REST využíva HTTP metódy na vykonávanie operácií nad zdrojmi. Dve najčastejšie používané sú GET a POST:
Príklad GET požiadavky: GET /api/users?name=Jano
Príklad POST požiadavky: POST /api/users s telom:
{
"name": "Jano",
"email": "jano@example.com"
}
Framework Jersey v Java EE poskytuje anotácie na spracovanie vstupov:
@QueryParam – na čítanie parametrov z URL (?key=value)@PathParam – ak je parameter súčasťou cesty, napr. /users/{id}@FormParam – na čítanie údajov z formulárov x-www-form-urlencoded
@GET
@Path("/user")
public Response getUser(@QueryParam("id") int id) {
return Response.ok("User ID: " + id).build();
}
@POST
@Path("/user/{id}")
public Response updateUser(@PathParam("id") int id, @FormParam("email") String email) {
return Response.ok("Updated email for ID " + id).build();
}
REST služby môžu prijímať vstupy v rôznych formátoch:
Ak prijímate JSON dáta, odporúčané je použiť POJO objekt ako parameter:
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response createUser(User user) {
return Response.ok("Created: " + user.getName()).build();
}
Pri práci s parametrami si treba dať pozor na:
%20 pre medzeru)Príklady problémových požiadaviek:
GET /api/users?query=drop%20table%20users;
Takéto pokusy musia byť validované a filtrované.
Najlepší nástroj na testovanie REST API je Postman. Môžete:
Odporúčané je zapnúť logovanie v aplikácii, napríklad cez System.out.println() alebo použiť Logger (napr. SLF4J, Logback).
Všetky tieto techniky si môžete vyskúšať v kurze Java REST služby s Hibernate, kde vytvoríte REST API, prepojíte ho s databázou pomocou JPA a vytvoríte jednoduchý frontend v Angulare.
Viac informacií preberáme na kurze: