Commit 01d911b3 by Patryk Czarnik

/orders/{id}/customer - wersja bezpośrednia

parent 3e842eb7
...@@ -11,10 +11,12 @@ import javax.ws.rs.Produces; ...@@ -11,10 +11,12 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.Response.Status;
import sklep.db.CustomerDAO;
import sklep.db.DBConnection; import sklep.db.DBConnection;
import sklep.db.DBException; import sklep.db.DBException;
import sklep.db.OrderDAO; import sklep.db.OrderDAO;
import sklep.db.RecordNotFound; import sklep.db.RecordNotFound;
import sklep.model.Customer;
import sklep.model.Order; import sklep.model.Order;
@RequestScoped @RequestScoped
...@@ -22,6 +24,13 @@ import sklep.model.Order; ...@@ -22,6 +24,13 @@ import sklep.model.Order;
@Produces({ "application/xml", "application/json" }) @Produces({ "application/xml", "application/json" })
@Consumes({ "application/xml", "application/json" }) @Consumes({ "application/xml", "application/json" })
public class ROrder { public class ROrder {
@GET
public List<Order> listAll() throws DBException {
try(DBConnection db = DBConnection.open()) {
OrderDAO orderDAO = db.orderDAO();
return orderDAO.readAll();
}
}
@GET @GET
@Path("/{id:[0-9][0-9]*}") @Path("/{id:[0-9][0-9]*}")
...@@ -41,12 +50,19 @@ public class ROrder { ...@@ -41,12 +50,19 @@ public class ROrder {
} }
} }
// Metoda, która ma obsłużyć pobranie info o właścicielu zamówienia:
// /orders/1/customer
// W tej wersji metoda zwraca bezpośrednio dane klienta.
@GET @GET
public List<Order> listAll() throws DBException { @Path("/{id:[0-9][0-9]*}/customer")
public Customer getCustomer(@PathParam("id") Integer orderId) throws DBException, RecordNotFound {
try(DBConnection db = DBConnection.open()) { try(DBConnection db = DBConnection.open()) {
OrderDAO orderDAO = db.orderDAO(); OrderDAO orderDAO = db.orderDAO();
return orderDAO.readAll(); CustomerDAO customerDAO = db.customerDAO();
Order order = orderDAO.findById(orderId);
Customer customer = customerDAO.findByEmail(order.getCustomerEmail());
return customer;
} }
} }
} }
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