#java #angular #spring #rest
Вопрос:
Я использую сервис REST для tal в БД и добавляю коллекции в многозначную карту следующим образом:
@Transactional
public MultiValueMap<String, Object> getLookUpItems() {
MultiValueMap<String, Object> data = new LinkedMultiValueMap<String, Object>();
List<Roles> roleList = roleRepository.findAll();
List<LkUnit> parentUnitList = unitRepository.findParentUnit();
data.add("roleList", roleList);
data.add("parentUnitList", parentUnitList);
return data;
}
Мой код контроллера выглядит следующим образом:
@RequestMapping(value = "/getLookUpItems", method = RequestMethod.GET)
public ResponseEntity<?> getLookUpItems(HttpServletRequest request) {
final HttpSession session = request.getSession(true);
UserDto loggedInUserObj = (UserDto) session.getAttribute("loggedInUserObj");
MultiValueMap<String, Object> data = new LinkedMultiValueMap<String, Object>();
List<Roles> roleList = new ArrayList<Roles>();
try{
if(loggedInUserObj.getEntitlements().contains(AppConstants.VIEW_USER_NAMAGEMENT)){
data = userService.getLookUpItems();
} else {
throw new Exception("You do not have permission to take this action .");
}
} catch (Exception e) {
return new ResponseEntity<String>("Update UnSuccessfull", HttpStatus.NOT_FOUND);
}
return new ResponseEntity<MultiValueMap<String, Object>>(data, HttpStatus.OK);
}
Я пытаюсь получить эти значения в своем прямоугольном коде следующим образом:
getLookUpItems(){
if(this.roleList.length == 0){
this.userService.getLookUpItems().subscribe( posts =>{
this.data = posts;
},
error => {
console.log('getLookUpItems - err',error);
this.messageService.add({severity:'error', summary:'Error Message', detail:error, sticky: true});
},
() => {
console.log('!!!!!!!!!!!!!!!!!',this.data);
this.roleList = this.data.roleList[0];
this.parentUnitList = this.data.parentUnitList[0];
this._sharedService.addRoles(this.roleList);
});
}
}
Это позволяет мне правильно отображать данные. Но есть ли какой-либо другой способ добавить значения в многозначную карту и получить значения в angular без указания значения индекса, такого как roleList[0], parentUnitList[0]?? Если да, пожалуйста, дайте мне знать, как лучше всего получить значения.