Asp.Net Core Web API 补丁 ID 始终为 NULL
Asp.Net Core Web API Patch Id Is Always NULL
我有一个 asp.net 核心网络 api,其端点使用 PATCH。需要更新记录的单个字段。我有端点设置来接受 Json 补丁文档正文中的记录 ID。
这是我的端点当前的设置方式。我只有足够的代码来检查我是否可以找到一个匹配的 ID,但它没有按预期工作。
[HttpPatch("{id}")]
public IActionResult updateDescription( [FromRoute] string reportId, [FromBody] JsonPatchDocument<Reports> patchEntity)
{
//reportId is null... not showing the id being passed in the api call
if (patchEntity == null)
{
return Ok("body is null");
}
var entity = _context.Reports.SingleOrDefault(x => x.ReportId == reportId);
if (entity == null)
{
return Ok(reportId + " Why is entity null!");
}
//patchEntity.ApplyTo(entity, ModelState);
return Ok(entity + " found!");
}
当我调用 api 传递 Id 时,报告 ID 参数显示为空。
report ID parameter shows null
API 调用:http://localhost:4200/api/updateDesc/A88FCD08-38A3-48BB-8E64-61057B3C0B1F
我正在使用邮递员, JSON 正文正被 API 端点正确发送和读取。
body return
我错过了什么导致路由的 ID 未分配给 reportID 参数?
我也尝试了一个稍微不同的终点,结果相同
[HttpPatch("{id}")]
public IActionResult updateDescription(string reportId, [FromBody] JsonPatchDocument<Reports> patchEntity)
{
//reportId is null... not showing the id being passed in the api call
if (patchEntity == null)
{
return Ok("body is null");
}
var entity = _context.Reports.SingleOrDefault(x => x.ReportId == reportId);
if (entity == null)
{
return Ok(reportId + " Why is entity null!");
}
//patchEntity.ApplyTo(entity, ModelState);
return Ok(entity + " found!");
}
请立即尝试
[HttpPatch("{reportId}")]
public IActionResult updateDescription( [FromRoute] string reportId, [FromBody] JsonPatchDocument<Reports> patchEntity)
{
我有一个 asp.net 核心网络 api,其端点使用 PATCH。需要更新记录的单个字段。我有端点设置来接受 Json 补丁文档正文中的记录 ID。
这是我的端点当前的设置方式。我只有足够的代码来检查我是否可以找到一个匹配的 ID,但它没有按预期工作。
[HttpPatch("{id}")]
public IActionResult updateDescription( [FromRoute] string reportId, [FromBody] JsonPatchDocument<Reports> patchEntity)
{
//reportId is null... not showing the id being passed in the api call
if (patchEntity == null)
{
return Ok("body is null");
}
var entity = _context.Reports.SingleOrDefault(x => x.ReportId == reportId);
if (entity == null)
{
return Ok(reportId + " Why is entity null!");
}
//patchEntity.ApplyTo(entity, ModelState);
return Ok(entity + " found!");
}
当我调用 api 传递 Id 时,报告 ID 参数显示为空。
report ID parameter shows null
API 调用:http://localhost:4200/api/updateDesc/A88FCD08-38A3-48BB-8E64-61057B3C0B1F 我正在使用邮递员, JSON 正文正被 API 端点正确发送和读取。 body return
我错过了什么导致路由的 ID 未分配给 reportID 参数?
我也尝试了一个稍微不同的终点,结果相同
[HttpPatch("{id}")]
public IActionResult updateDescription(string reportId, [FromBody] JsonPatchDocument<Reports> patchEntity)
{
//reportId is null... not showing the id being passed in the api call
if (patchEntity == null)
{
return Ok("body is null");
}
var entity = _context.Reports.SingleOrDefault(x => x.ReportId == reportId);
if (entity == null)
{
return Ok(reportId + " Why is entity null!");
}
//patchEntity.ApplyTo(entity, ModelState);
return Ok(entity + " found!");
}
请立即尝试
[HttpPatch("{reportId}")]
public IActionResult updateDescription( [FromRoute] string reportId, [FromBody] JsonPatchDocument<Reports> patchEntity)
{