Afficher des données venant de la BD
Bonjour,
Je suis confronté à une situation qui , pour ma part , je ne comprends pas pourquoi.
Voilà bref allons au problème.
J'ai une bd mysql qui contient une table
Code:
1 2 3 4 5 6 7 8 9 10
| CREATE TABLE accountowner.`employees` (
`id` bigint NOT NULL AUTO_INCREMENT,
`first_name` varchar(100) DEFAULT NULL,
`last_name` varchar(500) DEFAULT NULL,
`email_address` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
Insert Into accountowner.employees(first_name,last_name,email_address) values('Coulibaly','Yaya','y_laplace@yahoo.fr');
Insert Into accountowner.employees(first_name,last_name,email_address) values('Silue','Dognime','silue.dognime@gmail.com'); |
Backend Spring boot
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| @RestController
//@CrossOrigin(origins = "http://localhost:4200")
@RequestMapping("/api")
public class EmployeeController {
private static final Logger logger = LogManager.getLogger(EmployeeController.class);
@Autowired
private EmployeeRepository employeeRepository;
@GetMapping("/employees")
public List<Employee> getAllEmployees() {
List<Employee> emp = employeeRepository.findAll();
for (Employee e: emp)
{
System.out.println(e.getFirstName());
}
return emp;
//return "[{'firstName':'Coulibaly','lastName':'Yaya','id':9,'emailId':'y_laplace@yahoo.fr'},{'firstName':'Silue','lastName':'Dognime','id':9,'emailId':'silue.dognime@gmail.com'}]";
} |
Front end Angular
Code:
1 2 3 4 5 6 7 8
|
export class Employee {
id: number;
firstName: string;
lastName: string;
emailId: string;
active: boolean;
} |
service
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
EMP = [
{
"firstName":"Coulibaly",
"lastName":"Yaya",
"email":"y_laplace@yahoo.fr",
"id":9
},
{"firstName":"Silue",
"lastName":"Dognime",
"email":"silue.dognime@gmail.com",
"id":9
}
]
getEmployeesList(): Observable<any> {
return this.http.get(this.baseUrl).pipe(retry(3), catchError(this.handleError));
//return this.http.get(`${this.baseUrl}`);
//return of(this.EMP);
//return this.http.get('/asset/data/people.json');
} |
home
Code:
1 2 3 4 5 6 7
|
getEmployees() {
this.employees = this.employeeService.getEmployeesList();
}
console.log('Get employees From database ...');
this.getEmployees();
console.log('Get employees From database end ...'); |
a l'execution
http://localhost:9000/api/employees dans le navigation je recois les bonnes info
Citation:
[{"firstName":"Coulibaly","lastName":"Yaya","email":"y_laplace@yahoo.fr","id":9},{"firstName":"Silue","lastName":"Dognime","email":"silue.dognime@gmail.com","id":9}]
mais quand je lance dans le projet, rien ne s'affiche.
Et quand je fige la valeur dans le service
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
EMP = [
{
"firstName":"Coulibaly",
"lastName":"Yaya",
"email":"y_laplace@yahoo.fr",
"id":9
},
{"firstName":"Silue",
"lastName":"Dognime",
"email":"silue.dognime@gmail.com",
"id":9
}
]
getEmployeesList(): Observable<any> {
//return this.http.get(this.baseUrl).pipe(retry(3), catchError(this.handleError));
//return this.http.get(`${this.baseUrl}`);
return of(this.EMP);
//return this.http.get('/asset/data/people.json');
} |
la il n'affiche alors que je n'ai fait que recopie la valeur renvoyée dans le navigateur dans la variable EMP.
Merci pour votre aide