Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,18 @@
import org.springframework.samples.petclinic.owner.Owner;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

@RestController
@RequestMapping("/api/clinic-feedback")
public class FeedbackController {
@RequestMapping("/api/clinic-feedback")public class FeedbackController {

private final FeedbackService service;
private static final Logger log = LoggerFactory.getLogger(FeedbackController.class);

public FeedbackController(FeedbackService service) {
this.service = service;
Expand All @@ -29,9 +33,15 @@ public List<ClinicFeedback> list(
return results;
}

@GetMapping("count")
public String count() {
return String.valueOf(service.count());
@GetMapping(value = "/count", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Long> count() {
try {
long count = this.service.count();
return ResponseEntity.ok().body(count);
} catch (Exception e) {
log.error("Error retrieving feedback count", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}

@PostMapping("clear")
Expand All @@ -51,8 +61,7 @@ public ResponseEntity<String> populateFeedbacks(@RequestParam(name = "count", de
return ResponseEntity.internalServerError().body(ex.getMessage());
}
}

@PostMapping("add")
}@PostMapping("add")
public ResponseEntity<String> addFeedback(@RequestBody ClinicFeedback newFeedback, BindingResult result) {
if(result.hasErrors())
return ResponseEntity.badRequest().body("Failed to parsed request");
Expand All @@ -67,4 +76,4 @@ public ResponseEntity<String> addFeedback(@RequestBody ClinicFeedback newFeedbac
}

}
}
}
11 changes: 10 additions & 1 deletion src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,16 @@ spring.thymeleaf.mode=HTML
spring.jpa.hibernate.ddl-auto=none
spring.jpa.open-in-view=true

# FlaskDb
# Connection pool settings
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.max-lifetime=1200000

# Retry configuration
spring.datasource.hikari.connection-retry-attempts=3
spring.datasource.hikari.connection-retry-delay=1000# FlaskDb
spring.data.flaskdb.uri=http://localhost:27017/feedbacks

# Internationalization
Expand Down