Я помещаю json в тело от почтальона в надежде обновить сущность с именем MusicListListItem
.
Когда я отлаживаю, я обнаружил, что элемент MusicListListItem
равен null
.
Вот мой метод на моем MusicListsController
:
[HttpPut("{id}")]
[Route("API/[Controller]/UpdateMusicListListItem")]
public async Task<IActionResult> PutMusicListListItem(int id, [FromBody]MusicListListItem item)
{
MusicListListItem myMLLI = item;
if (id != item.MusicListListItemId)
{
return BadRequest();
}
_context.Entry(item).State = EntityState.Modified;
await _context.SaveChangesAsync();
return NoContent();
}
, а вот json, который я поместил в секцию Body Postman с выбранным JSON (application / json):
{
"musicListListItemId": 4,
"musicListId": 1,
"listItemId": 1019,
"listItem": {
"artist": null,
"listItemId": 1019,
"title": "test33_tryAddRelation",
"dateCreated": "0001-01-01T00:00:00",
"musicListListItem": []
},
"rank": 2,
"comments": null,
"imageUrl": null,
"dateModified": "0001-01-01T00:00:00",
"deleted": false
}
Я ожидаю, что метод API-контроллера PutMusicListListItem
получит объект MusicListListItem
из тела запроса PUT Почтальона, но он возвращается как null
.
В конечном итоге я получаю
NullReferenceException: ссылка на объект не установлена на экземпляр объекта.
ошибка.
Здесьэто дополнительная информация, которая была запрошена:
Определение объекта musicListListItem:
using MusicListsApp.Domain;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
namespace Domain
{
public class MusicListListItem
{
public int MusicListListItemId { get; set; }
public int MusicListId { get; set; }
public int ListItemId { get; set; }
public virtual MusicList MusicList { get; set; }
public virtual ListItem ListItem { get; set; }
public int Rank { get; set; }
public string Comments { get; set; }
public string ImageUrl { get; set; }
public DateTime DateModified { get; set; }
public bool Deleted { get; set; }
}
}
Снимок экрана Почтальона: