一天一个柚子 2023-05-29 17:55 采纳率: 0%
浏览 21

若以框架后端查询输出的时候不知道为什么会多一个list

用的若依,查询返回的数据会多一个"params":{},其他的看着正常但是我想把这个东西去掉
不知道若依更新到了哪个版本在验证数据权限的时候需要验证前端传过来的值的结构,我就写了一个类来继承BasEentity,前端传值的时候页用这个来接收
输出的时候页用另一个这样的类输出(也继承了BaseEntity),然后输出的结果就会多了点东西,虽然不影响使用。但看着它明晃晃戳在哪里实在难受,想知道为什么 QAQ

img

img

  • 写回答

2条回答 默认 最新

  • 鱼弦 优质创作者: 编程框架技术领域 2023-05-29 20:03
    关注

    "params":{} 是若依框架在查询时添加的一个空参数对象,用于让前端传递额外的参数到后台。如果你不需要这个参数对象,可以尝试去掉它。

    若依框架是开源的,你可以查看代码来确定在哪里添加了 "params":{} 这个对象。通常情况下,若依会在查询语句中添加这个参数对象,例如:

    csharp
    return new { data = await repository.FindListAsync(pagination, expression) , params = new {}};
    在这个例子中,为了让前端能够传递额外的参数到后台,若依在查询结果中添加了一个空的参数对象。

    为了去除这个参数对象,你可以尝试修改若依框架的源代码,去掉生成查询结果时添加参数对象的代码。或者,在返回结果时手动将 "params":{} 这个对象删除,例如:

    csharp
    var result = await repository.FindListAsync(pagination, expression);
    result.Remove("params");
    return new { data = result };

    评论

报告相同问题?

问题事件

  • 创建了问题 5月29日