@@ -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