Merge branch 'feature/all-endpoints-require-fields' into 'master'

#265 endpoint 'all' requires fields to be specified

See merge request restcountries/restcountries!88
This commit is contained in:
Alejandro Matos
2025-06-05 14:13:25 +00:00
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));
}