C# 如何使用CreateDataAction将数据解析为Json并返回到另一个方法?
我有一个post方法来添加一个新类别并将其保存到数据库中。我想将CreateAtAction返回到另一个getmethod。但是当我执行代码时,数据成功地保存在数据库中 当我尝试使用Swagger UI时,虽然我得到“无法解析json数据”,但此post方法不会移动到另一个get方法 CategoryController.csC# 如何使用CreateDataAction将数据解析为Json并返回到另一个方法?,c#,json,asp.net-core,swagger,asp.net-core-webapi,C#,Json,Asp.net Core,Swagger,Asp.net Core Webapi,我有一个post方法来添加一个新类别并将其保存到数据库中。我想将CreateAtAction返回到另一个getmethod。但是当我执行代码时,数据成功地保存在数据库中 当我尝试使用Swagger UI时,虽然我得到“无法解析json数据”,但此post方法不会移动到另一个get方法 CategoryController.cs [HttpPost] 公共异步任务AddCategory([FromBody]类别) { 如果(!ModelState.IsValid) { 返回请求(ModelSta
[HttpPost]
公共异步任务AddCategory([FromBody]类别)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
_categoryRepository.Add(类别);
等待任务。运行(()=>_categoryRepository.SaveChanges());
返回CreateDataAction(nameof(GetCategoryById),新的{id=category.id},category);
}
[HttpGet(“{id}”)]
public IActionResult GetCategoryById([FromRoute]长id)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
//var category=await\u context.category.FirstOrDefaultAsync(i=>i.ParentId==id);
var ListCategories=\u categoryRepository.GetById(id);
如果(ListCategories==null)
{
返回NotFound();
}
返回Ok(列表类别);
}
该错误涉及发送给JSON的字符串。它不是由您发布的代码生成的。很明显,这个字符串是一个无效的JSON字符串。最有可能的是有一个未被取代的双引号在那里。因为你没有发布实际的代码,只是一个屏幕截图,所以不可能告诉你它是什么。无法编译或编辑图像。请在字符串中使用单引号而不是双引号,以避免转义和错误
[HttpPost]
public async Task<IActionResult> AddCategory([FromBody] Category category)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
_categoryRepository.Add(category);
await Task.Run(() => _categoryRepository.SaveChanges());
return CreatedAtAction(nameof(GetCategoryById) , new { id = category.Id }, category);
}
[HttpGet("{id}")]
public IActionResult GetCategoryById([FromRoute]long id)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
//var category = await _context.Category.FirstOrDefaultAsync(i => i.ParentId == id);
var ListCategories = _categoryRepository.GetById(id);
if (ListCategories == null)
{
return NotFound();
}
return Ok(ListCategories);
}