C#后端接收前端的参数

接收参数

1. 直接使用 [FromBody] 特性来告诉 ASP.NET Core 将请求的 JSON 数据反序列化为 实体类 对象

[FromBody]

BlogNewsDTO实体类

image

点击查看代码
[HttpPost("Create")]//使用 [FromBody] 特性来告诉 ASP.NET Core 将请求的 JSON 数据反序列化为 CreateBlogNewsDTO 对象
public async Task<ActionResult<ApiResult>> Create([FromBody] BlogNewsDTO dto)// string title,string content,int typeid 实体类里的参数
{
    BlogNews blogNews = new BlogNews
    {
        BrowseCount = 0,
        Content = dto.Content,
        LikeCount = 0,
        Time = DateTime.Now,
        Title = dto.Title,
        TypeId = dto.TypeId,
        WriterId = Convert.ToInt32(this.User.FindFirst("Id").Value) //2
    };
    bool b= await _iblogNewsService.CreateAsync(blogNews);
    if (!b)
        return ApiResultHelper.Error("添加失败,服务器发生错误");
    return ApiResultHelper.Success(blogNews);
}

2.创建一个接受对应参数的实体类,用字符串接受前端的JSON数据,利用JsonConvert.DeserializeObject方法将字符串 反序列化成 实体类 对象

例:

接收的参数

data={%22Machine%22:%22DJKX-005-3%22,%22time%22:%222024-02-02T06:39:56%22}
image

实体类

image

获取参数并使用

image

点击查看代码
public string GetLatestdata(string data)
        {  
            string decodedData = HttpUtility.UrlDecode(data);//处理url中的特殊字符、此处暂无作用
            var requestData = JsonConvert.DeserializeObject<DateRequest>(decodedData);//将字符串反序列成实体类
            List<TemperatureData> temperatureData = temperatureService.GetTemperatureData(requestData);

            // 返回 JSON 格式的温度数据
            return JsonData.CreateJStrForData(
                "true",
                "200: 查询成功!",
                temperatureData
            );
            //return JsonConvert.SerializeObject(new
            //{
            //    success = true,
            //    message = "200: 查询成功!",
            //    data = temperatureData
            //});

            //return JsonData.CreateJStrForData("true", "200:查询成功!", data);
        }

查看结果

image

image

posted @ 2024-02-09 00:42  咸鱼过海  阅读(45)  评论(0编辑  收藏  举报