【发布时间】:2021-05-29 14:06:26
【问题描述】:
我在Meeting.cs有这个模型:
public class Meeting
{
public string Id { get; set; }
[DataType(DataType.Time)]
public TimeSpan Start_time { get; set; }
[DataType(DataType.Time)]
public TimeSpan End_time { get; set; }
[DataType(DataType.Date)]
public DateTime Date { get; set; }
[Required]
[Url]
public string Url { get; set; }
[RegularExpression(@"^[(a-zA-Z)' '(a-zA-Z)]*$",
ErrorMessage = "Characters are not allowed.")]
public string Owner { get; set; }
[RegularExpression(@"^[(a-zA-Z)' '(a-zA-Z)]*$",
ErrorMessage = "Characters are not allowed.")]
public string Participant { get; set; }
}
在InitialMigration.cs 中看起来像这样:
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "meetings",
columns: table => new
{
Id = table.Column<string>(type: "text", nullable: false),
Start_time = table.Column<TimeSpan>(type: "interval", nullable: false),
End_time = table.Column<TimeSpan>(type: "interval", nullable: false),
Date = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
Url = table.Column<string>(type: "text", nullable: false),
Owner = table.Column<string>(type: "text", nullable: true),
Participant = table.Column<string>(type: "text", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_meetings", x => x.Id);
});
}
MeetingsController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using WebApplication2.DataAccess;
using WebApplication2.Models;
namespace WebApplication2.Controllers
{
[Route("api/Meetings")]
public class MeetingsController : ControllerBase
{
private readonly IDataAccessProvider _dataAccessProvider;
public MeetingsController(IDataAccessProvider dataAccessProvider)
{
_dataAccessProvider = dataAccessProvider;
}
[HttpGet]
public IEnumerable<Meeting> Get()
{
return _dataAccessProvider.GetMeetingRecords();
}
[HttpPost]
public IActionResult Create([FromBody] Meeting meet)
{
if (ModelState.IsValid)
{
Guid obj = Guid.NewGuid();
meet.Id = obj.ToString();
_dataAccessProvider.AddMeetingRecord(meet);
return Ok();
}
return BadRequest();
}
[HttpGet("{id}")]
public Meeting Details(string id)
{
return _dataAccessProvider.GetMeetingSingleRecord(id);
}
[HttpPut]
public IActionResult Edit([FromBody] Meeting meet)
{
if (ModelState.IsValid)
{
_dataAccessProvider.UpdateMeetingRecord(meet);
return Ok();
}
return BadRequest();
}
[HttpDelete("{id}")]
public IActionResult DeleteConfirmed(string id)
{
var data = _dataAccessProvider.GetMeetingSingleRecord(id);
if (data == null)
{
return NotFound();
}
_dataAccessProvider.DeleteMeetingRecord(id);
return Ok();
}
}
}
如何解决这个问题?
但我的 JSON 数据似乎无效,我不明白为什么。 date 可能有问题?我应该用什么格式写时间和日期?
但我的 JSON 数据似乎无效,我不明白为什么。 date 可能有问题?我应该用什么格式写时间和日期?
【问题讨论】:
-
请显示您的控制器操作。
-
现在我需要查看 _dataAccessProvider.AddMeetingRecord(meet);
-
@Sergey,
public void AddMeetingRecord(Meeting meet) { _context.meetings.Add(meet); _context.SaveChanges(); } -
对不起,请您从邮递员那里发布您的输入数据。我想测试一下。
-
{ "date": "10/19/2021", "start_time": "19:23:23", "end_time": "20:23:23", "url": "https://blog.reedsy.com/writing-apps/#11__hemingway", "owner": "Michael KKK", "participant": "John PPP" }
标签: c# asp.net-mvc asp.net-core .net-core asp.net-core-webapi