Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用CreateDataAction将数据解析为Json并返回到另一个方法?_C#_Json_Asp.net Core_Swagger_Asp.net Core Webapi - Fatal编程技术网

C# 如何使用CreateDataAction将数据解析为Json并返回到另一个方法?

C# 如何使用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

我有一个post方法来添加一个新类别并将其保存到数据库中。我想将CreateAtAction返回到另一个getmethod。但是当我执行代码时,数据成功地保存在数据库中

当我尝试使用Swagger UI时,虽然我得到“无法解析json数据”,但此post方法不会移动到另一个get方法

CategoryController.cs

[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);
}