Я хочу вернуть список из Spring rest api:
@GetMapping("merchant_country")
public ResponseEntity<?> getMerchantCountry() {
return ok(Contracts.getSerialversionuid());
}
Я хочу получить контент отсюда:
private Map<String, Object> getCountryNameCodeList() {
String[] countryCodes = Locale.getISOCountries();
Map<String, Object> list = new HashMap<>();
for (String countryCode : countryCodes) {
Locale obj = new Locale("", countryCode);
list.put(obj.getDisplayCountry().toString(), obj.getCountry());
}
return list;
}
Как я могу отобразить результат?
хорошо, как я могу вернуть getCountryNameCodeList в виде карты, когда я вызываю GET merchant_country из кода angular?
Не могли бы вы тогда просто установить список как значение карты?
это хорошее место для начала spring.io/guides/tutorials/rest @PeterPenzov




Используйте ResponseEntity, когда вам нужен больший контроль над ответом HTTP (например, установка заголовков HTTP, предоставление другого кода состояния).
В других случаях вы можете просто вернуть POJO (или коллекцию), а Spring сделает все остальное за вас.
class Controller {
@Autowired
private Service service;
@GetMapping("merchant_country")
public Map<String, Object> getMerchantCountry() {
return service.getCountryNameCodeList();
}
}
class Service {
public Map<String, Object> getCountryNameCodeList() { ... }
}
Locate#getCountry возвращает String, поэтому это может быть Map<String, String>.
Надеюсь, это поможет, вам нужно создать ResponseEntity, как предложил Эндрю.
class controller{
@Autowired
private Service service;
@GetMapping("merchant_country")
public ResponseEntity<?> getMerchantCountry() {
return service.getCountryNameCodeList();
}`enter code here`
}
class service
{
private ResponseEntity<Map<String, Object>> getCountryNameCodeList() {
String[] countryCodes = Locale.getISOCountries();
Map<String, Object> list = new HashMap<>();
for (String countryCode : countryCodes) {
Locale obj = new Locale("", countryCode);
list.put(obj.getDisplayCountry().toString(), obj.getCountry());
}
return new ResponseEntity<>(list, HttpStatus.OK);
}
вы хотите вернуть карту или список? нет связи между двумя методами?