Commit 048edb39 by Patryk Czarnik

POST - zwracanie kodu Created

parent 44f97dc9
...@@ -46,7 +46,6 @@ public class RCustomers { ...@@ -46,7 +46,6 @@ public class RCustomers {
CustomerDAO customerDAO = db.customerDAO(); CustomerDAO customerDAO = db.customerDAO();
customerDAO.save(customer); customerDAO.save(customer);
db.commit(); db.commit();
// Zwracamy informację, pod jakim adresem został zapisany rekord.
URI uri = UriBuilder URI uri = UriBuilder
.fromResource(RCustomers.class) .fromResource(RCustomers.class)
.path(String.valueOf(customer.getEmail())) .path(String.valueOf(customer.getEmail()))
......
package rest; package rest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URI;
import java.util.List; import java.util.List;
import jakarta.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
...@@ -11,6 +12,8 @@ import jakarta.ws.rs.PUT; ...@@ -11,6 +12,8 @@ import jakarta.ws.rs.PUT;
import jakarta.ws.rs.Path; import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces; import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.UriBuilder;
import sklep.db.DBConnection; import sklep.db.DBConnection;
import sklep.db.DBException; import sklep.db.DBException;
import sklep.db.ProductDAO; import sklep.db.ProductDAO;
...@@ -75,16 +78,20 @@ public class RProducts { ...@@ -75,16 +78,20 @@ public class RProducts {
@POST @POST
@Consumes({"application/json", "application/xml"}) @Consumes({"application/json", "application/xml"})
@Produces({"application/json", "application/xml"})
// W metodach typu POST i PUT powinien znajdować się dokładnie jeden parametr nieozanczony żadną adnotacją. // W metodach typu POST i PUT powinien znajdować się dokładnie jeden parametr nieozanczony żadną adnotacją.
// Do tego parametru zostanie przekazana wartość utworzona na podstawie treści zapytania (content / body / entity). // Do tego parametru zostanie przekazana wartość utworzona na podstawie treści zapytania (content / body / entity).
// W adnotacji @Consumes określamy format, w jakim te dane mają być przysłane. // W adnotacji @Consumes określamy format, w jakim te dane mają być przysłane.
public Product saveProduct(Product product) throws DBException { public Response saveProduct(Product product) throws DBException {
try(DBConnection db = DBConnection.open()) { try(DBConnection db = DBConnection.open()) {
ProductDAO productDAO = db.productDAO(); ProductDAO productDAO = db.productDAO();
productDAO.save(product); productDAO.save(product);
db.commit(); db.commit();
return product; // Zwracamy informację, pod jakim adresem został zapisany rekord.
URI uri = UriBuilder
.fromResource(RProducts.class)
.path(String.valueOf(product.getProductId()))
.build();
return Response.created(uri).build();
} }
} }
......
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