Передача Guid из интерфейса Angular в Asp.Net Ядро

#angular #asp.net-core

#angular #asp.net-ядро

Вопрос:

У меня есть приложение CRUD, и когда я передаю идентификаторы Guid из Angular в ASP.NET ядро, но я получаю сообщение об ошибке преобразования значения «» в тип «System.Guid»» при публикации. Я не смог найти здесь ничего полезного. Есть какие-либо подсказки о том, как этого добиться?

Это моя модель в серверной части:

  public class ArchiveFile
    {
        [Key]       
        public Guid Id { get; set; }

        [Required]
        [MaxLength(100)]
        public string Name { get; set; }

        [Required]
        [MaxLength(100)]
        public string Code { get; set; }

        [ForeignKey("ArchiveBoxId")]
        public ArchiveBox ArchiveBox { get; set; }

        public Guid ArchiveBoxId { get; set; }
    }
  

Это интерфейс:

 export class File {
    id: string; 
    name: string;
    code: string;
    value: number;
    boxId: string; 
}

  

Это метод post в интерфейсе:

 postFile() {
    const httpOptions = {
      headers: new HttpHeaders({ 'Content-Type': 'application/json' })
    }
    return this.http.post(this.rootURL   '/files', this.fileFormData, httpOptions)
  

и в серверной части:

 
        public async Task<ActionResult> AddFile(ArchiveFile file)
        {


            _archiveFileRepository.AddFile(file);

            await _archiveFileRepository.SaveChangesAsync();

            return CreatedAtRoute("GetFile", new { id = file.Id }, file);
        }
  

Комментарии:

1. похоже, значение GUID не передается в API. куда он должен быть передан в этом файле.fileFOrmData ?? если это так, я бы добавил консоль. войдите в журнал или отладчик и убедитесь, что идентификатор this.fileFormData установлен правильно

2. Привет @PabloAguirredeSouza, вы проверили запрос и фактические опубликованные данные?