#265 endpoint 'all' requires fields to be specified

This commit is contained in:
Alejandro
2025-06-04 17:12:47 -05:00
parent 8c264c0a6c
commit 7378efe122
3 changed files with 21 additions and 0 deletions
@@ -27,6 +27,13 @@ public class CountryControllerV2 {
@Get(uri = "all", produces = MediaType.APPLICATION_JSON)
public Object getAllCountries(@QueryValue("fields") Optional<String> fields) {
if (fields.isEmpty()) {
return ControllerHelper.badAllRequest();
}
var totalFields = fields.get().split(",").length;
if (totalFields > 10) {
return ControllerHelper.badAllRequest();
}
List<Country> countries = CountryServiceV2.getInstance().getAll();
return checkFieldsAndParseCountries(fields, countries);
}
@@ -18,6 +18,13 @@ public class CountryControllerV3 extends ControllerV3Helper {
@Get(uri = "all", produces = MediaType.APPLICATION_JSON)
public HttpResponse<Object> getAllCountries(@QueryValue("fields") Optional<String> fields) {
if (fields.isEmpty()) {
return ControllerHelper.badAllRequest();
}
var totalFields = fields.get().split(",").length;
if (totalFields > 10) {
return ControllerHelper.badAllRequest();
}
var countries = CountryServiceV3.getInstance().getAll();
return ControllerHelper.ok(checkFieldsAndParseCountries(fields, countries));
}
@@ -19,6 +19,13 @@ public class CountryControllerV31 extends ControllerV3Helper {
@Get(uri = "all", produces = MediaType.APPLICATION_JSON)
@Schema(name = "RestCountries")
public Object getAllCountries(@QueryValue("fields") Optional<String> fields) {
if (fields.isEmpty()) {
return ControllerHelper.badAllRequest();
}
var totalFields = fields.get().split(",").length;
if (totalFields > 10) {
return ControllerHelper.badAllRequest();
}
var countries = CountryServiceV31.getInstance().getAll();
return ControllerHelper.ok(checkFieldsAndParseCountries(fields, countries));
}