Commit dfa0e9e3 by Patryk Czarnik

Generowanie PDF także pod adresem /products

parent 447cbe44
......@@ -9,6 +9,7 @@ import sklep.db.DBException;
import sklep.db.ProductDAO;
import sklep.db.RecordNotFound;
import sklep.model.Product;
import sklep.model.ProductList;
import java.math.BigDecimal;
import java.net.URI;
......@@ -28,7 +29,7 @@ import java.util.List;
@Path("/products")
public class RProducts {
@GET
@Produces({"application/json", "application/xml", "text/plain;charset=UTF-8"})
@Produces({"application/json", "text/plain;charset=UTF-8"})
// @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN})
public List<Product> allProducts() throws DBException {
try(DBConnection db = DBConnection.open()) {
......@@ -37,6 +38,12 @@ public class RProducts {
}
}
@GET
@Produces({"application/xml", "application/pdf"})
public ProductList allProductsXml() throws DBException {
return new ProductList(allProducts());
}
// Może też być tak, że kilka metod działa pod tym samym adresem, ale służą one do tworzenia odpowiedzi w różnych formatach.
// Przykład: tworzenie HTML w oddzielnej metodzie
@GET
......@@ -54,7 +61,7 @@ public class RProducts {
@GET
@Path("/{id}")
@Produces({"application/json", "application/xml", "text/plain;charset=UTF-8"})
@Produces({"application/json", "application/xml", "text/plain;charset=UTF-8", "application/pdf"})
// przykładowo /api/products/3
public Product oneProduct(@PathParam("id") int productId) throws DBException, RecordNotFound {
try(DBConnection db = DBConnection.open()) {
......
......@@ -22,7 +22,7 @@ public class Klient12_RestClient_String {
// readEntity(OKREŚLENIE TYPU) stara się odczytać tresc odpowiedzi jako obiekt podanego typu
// Obsługiwane typy to m.in: byte[], String, InputStream, File
// Dodając odpowiednie "MeassgeBodyReader", możemy obsługiwać dowolne typy.
// Dodając odpowiednie "MessageBodyReader", możemy obsługiwać dowolne typy.
// W szczególności, gdy dodamy do projektu obsługę XML lub JSON (zob. zależności Mavena),
// będziemy mogli odczytywać dane w postaci obiektów naszego modelu, np. Product.
String dane = response.readEntity(String.class);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment