Java Back Angular Front affichage json
Bonjour, c'est peut être plus du Angular que du java je ne sais pas. Je n'arrive pas à manipuler mon array de json créé avec ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public static JsonArray afficherClients(){
MongoCollection<Document> collection = MongoMain.getDB().getCollection("Clients");
FindIterable<Document> iterDoc = collection.find();
Gson gson = new Gson();
Iterator<Document> it = iterDoc.iterator();
JsonArray array = new JsonArray();
while (it.hasNext()) {
array.add(gson.toJson(it.next()));
}
System.out.println(array);
return array;
} |
J'obtiens bien un array de ce style ["{\"_id\":{\"timestamp\":1557130609,\"machineIdentifier\":11848616,\"processIdentifier\":5812,\"counter\":8628551},\"nomEntreprise\":\"test\",\"rue\":\"test\",\"codePostal\":\"test\",\"ville\":\"test\",\"titre\":\"test\",\"nom\":\"test\",\"prenom\":\"test\",\"telephone\":\"test\",\"email\":\"test\"}"]
Ici je n'ai mis qu'un seul enregistrement dans l'array.
Ensuite je récupère tout dans le front via une servlet
Code:
1 2 3 4 5 6 7 8 9
| protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/json");
request.setAttribute("someData", Clients.afficherClients());
RequestDispatcher dispatcher = request.getRequestDispatcher("test.jsp");
dispatcher.forward(request, response);
} |
qui envoie les données sur localhost8080 et en typescript je fais un http get
Code:
1 2 3 4 5 6 7 8 9 10 11
| clients: String[] = [];
constructor(private http: HttpClient)
{ }
ngOnInit() {
this.http.get<String[]>("http://localhost:8080/my-app/test").subscribe(result => {
this.clients = result;
}, error => alert("Erreur"));
} |
Puis je boucle dessus dans mon html
Code:
1 2 3
| <ul class="list-group-item-heading" *ngFor="let client of clients; let i = index">
{{ client }}
</ul> |
MAIS, la j'obtiens seulement tout l'enregistrement précédemment cité, alors que j'aimerai avoir juste le nom par exemple, mais le {{client.nom}} ne fonctionne pas.
Help please !