@@ -18,46 +18,38 @@ public CartRepository(String dbUrl) {
1818 }
1919
2020 public void save(PurchaseItem item) {
21- try {
22- HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
23- .header("Content-Type", "application/json")
24- .POST(HttpRequest.BodyPublishers.ofString(gson.toJson(item)))
25- .build();
26- HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
27- if (response.statusCode() < 200 || response.statusCode() > 299) {
28- throw new RuntimeException("request didn't complete successfully");
29- }
30- } catch (Exception e) {
31- throw new RuntimeException(e);
32- }
21+ HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
22+ .header("Content-Type", "application/json")
23+ .POST(HttpRequest.BodyPublishers.ofString(gson.toJson(item)))
24+ .build();
25+ makeRequest(request);
3326 }
3427
3528 public PurchaseItem[] findAll() {
36- try {
37- HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
38- .header("Accept", "application/json")
39- .GET()
40- .build();
41- HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
42- if (response.statusCode() < 200 || response.statusCode() > 299) {
43- throw new RuntimeException("request didn't complete successfully");
44- }
45- return gson.fromJson(response.body(), PurchaseItem[].class);
46- } catch (Exception e) {
47- throw new RuntimeException(e);
48- }
29+ HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl))
30+ .header("Accept", "application/json")
31+ .GET()
32+ .build();
33+ HttpResponse<String> response = makeRequest(request);
34+ return gson.fromJson(response.body(), PurchaseItem[].class);
4935 }
5036
5137 public void removeById(int id) {
38+ HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl + "/" + id))
39+ .header("Content-Type", "application/json")
40+ .DELETE()
41+ .build();
42+ makeRequest(request);
43+ }
44+
45+ private HttpResponse<String> makeRequest(HttpRequest request) {
5246 try {
53- HttpRequest request = HttpRequest.newBuilder(URI.create(dbUrl + "/" + id))
54- .header("Content-Type", "application/json")
55- .DELETE()
56- .build();
5747 HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
5848 if (response.statusCode() < 200 || response.statusCode() > 299) {
5949 throw new RuntimeException("request didn't complete successfully");
6050 }
51+
52+ return response;
6153 } catch (Exception e) {
6254 throw new RuntimeException(e);
6355 }
0 commit comments