#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, вы проверили запрос и фактические опубликованные данные?