Api 响应数据未显示在表中 (Angular)

Api response data not displayed in table (Angular)

提问人:VishnuKc 提问时间:11/15/2023 更新时间:11/15/2023 访问量:47

问:

我从后端获取类别列表/数组并将它们显示在表格中,但我的表格中没有显示任何数据。 我在检查中检查了网络选项卡,它显示 200 个响应并从 api 获取所有数据。

model.ts

export interface Category{
  Id:string;
  Name:string;
  UrlHandle:string;
}

service.ts

@Injectable({
  providedIn: 'root'
})
export class CategoryService {

  constructor(private http:HttpClient) { }

  addCategory(model:AddCategoryRequest): Observable<void>{
    return this.http.post<void>(`${environment.apiBaseUrl}/api/categories`,model);

  }

  getAllCategories(): Observable<Category[]>{
    return this.http.get<Category[]>(`${environment.apiBaseUrl}/api/categories`);
  }
}

HTML 代码

<div class="container">
  <h1 class="mt-3">Category List</h1>
  <div class="d-flex justify-content-end mt-3">
    <a [routerLink]="['/admin/categories/add']" class="btn btn-primary"
      >Add Category</a
    >
  </div>
  <ng-container *ngIf="categories$ | async as categories">
    <table class="table table-bordered mt-3">
      <thead>
        <tr>
          <th>Id</th>
          <th>Name</th>
          <th>Url Handle</th>
        </tr>
      </thead>
      <tbody>
        <tr *ngFor="let category of categories">
          <td>{{ category.Id }}</td>
          <td>{{ category.Name }}</td>
          <td>{{ category.UrlHandle }}</td>
        </tr>
      </tbody>
    </table>
  </ng-container>
</div>

“网络”选项卡供您参考200 response

我以为我的html文件有问题,我的代码不允许显示数据。我彻底检查了一下,什么也没找到。

angular ASP.NET-WEB-API ANGULAR-UI-ROUTER

评论

0赞 Yong Shun 11/15/2023
您可以看到字段为驼峰大小写的响应,而模型的属性为帕斯卡大小写。将模型的属性修改为驼峰大小写,或修改 API 以返回 Pascal 大小写中的响应字段。属性名称区分大小写。CategoryCategory
0赞 VishnuKc 11/15/2023
但为什么他们会在骆驼的情况下呢?我从来没有在代码中的任何位置以驼峰大小写键入我的属性
0赞 Yong Shun 11/15/2023
我相信这是 Web API 中的默认序列化规则,用于将其设置为驼峰大小写。您需要覆盖默认行为。如果使用的是 .NET Core,则适用于 .NET 并应用 .PascalCasePropertyNamesContractResolver
0赞 VishnuKc 11/17/2023
谢谢伙计!我首先修改了我的 api,但我遇到了同样的问题,然后我注意到了我的迁移文件。更新了迁移和数据库,现在它就像一个魅力

答: 暂无答案