Я делаю приложение CRUD с SpringBoot и Angular. Я использую для этого MySQL, и когда я делаю запрос POST в Postman, я вижу всю свою дату, отображаемую в файле JSON. Итак, в Angular у меня есть сервис с:
export class GetdataService {
constructor(private http: HttpClient) {}
getAllTodos() {
return this.http.get < Todo[] > ('http://wwww.localhost:8081/todos');
}
}
Мой компонент, где я сохраняю данные:
export class TaskListComponent implements OnInit {
todos: Todo[];
constructor(private getDataService: GetdataService) {}
ngOnInit() {
this.refreshTodos();
}
refreshTodos() {
console.info(this.getDataService.getAllTodos().subscribe(
response => {
console.info(response);
this.todos = response;
}
));
}
}
export class Todo {
constructor(
public id: number,
public description: string,
public status: boolean,
public date: Date
) {}
}
В console.info
я вижу свой формат JSON с правильными данными из базы данных. Когда я запускаю угловое приложение, у меня нет ошибок в консоли, но в моем браузере я вижу только идентификационные номера. Не знаю, что может быть не так в этом случае.
<div class = "container">
<table class = "table">
<thead>
<tr>
<th>Id</th>
<th>Target Date</th>
<th>is Completed?</th>
<th>Update</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
<tr *ngFor = "let todo of todos">
<td>{{todo.description}}</td>
<td>{{todo.id}}</td>
<td>{{todo.status}}</td>
<td>{{todo.date}}</td>
</tr>
</tbody>
</table>
</div>
Ах, спасибо. Я не знал, что они должны быть одинаковыми :)
Возможно, у вас неправильное имя свойства, которое вызывает эту проблему.
Был случай, теперь я знаю, что "ключ" JSON должен совпадать в Angular :)
в соответствии с вашим скриншотом todo.description должно быть todo.taskDescription и т. д. Обычно добавляйте «todo» в качестве префикса после точки.