Я получаю сообщение об ошибке на postman saying - "error": "ссылка на объект не установлена на экземпляр объекта."
Вот мой метод APIController:
// POST SettingsAPI/DispatchSettingsAPI/UpdateDispatchSetting [HttpPost("UpdateDispatchSetting")] public async Task<RequestResult> UpdateDispatchSetting([FromBody] UpdateDispatchSettingRequest request) { RequestResult result = new RequestResult(); try { // added this to do more validation in ValidationHelper.cs CheckModelState(ModelState); request.AdditionalValidation(); // connect to db and excute the proc using the params await DatabaseHelper.ExecuteCommandOnly( _context, // connection "UpdateDispatchSetting", // proc request.GenerateParameters() // params ); } catch (Exception ex) { //return new RequestResult(ex); result.SetError(GetErrorString(ex)); } return result; }
Вот моя модель запроса
using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Data.SqlClient; using Helpers; using Library.Shared.Requests; using Library.Shared.Common; using System.Text; using static Helpers.ValidationHelper; namespace Library.Admin.DispatchSetting.Requests { public class UpdateDispatchSettingRequest : DatabaseRequest { [Required] [DisplayName("Utility ID")] [MaxLength(6)] public string UtilityID { get; set; } public string Type { get; set; } public string Setting { get; set; } public string Value { get; set; } public UserInfo User { get; set; } public string Reason { get; set; } public UpdateDispatchSettingRequest() { } public override void UpdateTimesToUTC(string TimeZone) { throw new NotImplementedException(); } public override void AdditionalValidation() { } public override IEnumerable<SqlParameter> GenerateParameters() { return new[] { new SqlParameter("UtilityID",UtilityID), new SqlParameter("Type", Type), new SqlParameter("Setting", Setting), new SqlParameter("Value", Value), new SqlParameter("UserName", User.UserName), new SqlParameter("UserSiteID", User.PrimarySiteID), new SqlParameter("Reason", Reason) }; } } public class UpdateDispatchSettingUIRequest : Request { [Required] [DisplayName("Utility ID")] [MaxLength(6)] public string UtilityID { get; set; } public string Type { get; set; } public string Setting { get; set; } public string Value { get; set; } public UserInfo User { get; set; } public string Reason { get; set; } public override void AdditionalValidation() { throw new NotImplementedException(); } public UpdateDispatchSettingRequest GenerateAPIRequest(UserInfo user) { return new UpdateDispatchSettingRequest { UtilityID = UtilityID, Type = Type, Setting = Setting, Value = Value, User = user, Reason = Reason }; } } }
Что я уже пробовал:
Я попытался посмотреть другие примеры и увидеть, где я делаю ошибки или что я упускаю. Я также ищу подобные вопросы в интернете. Вот что я использую на почтальоне:
{ "UtilityID":"9900", "Type":"Dispatch", "Setting":"DispatchSetting", "Value":"120", "User": { "UserID": 1, "UserName": "abiyeketema@crc.coop", "PrimarySiteID": 1, "CRCUser": true }, "Reason":"Testing" }
Вот весь вывод, который я получаю:
{ "resultInformation": {}, "error": "Object reference not set to an instance of an object.", "errorLevel": 3, "errorExists": true }