这是一个一般的设计问题。
我正在NetCore2.0上构建一个REST,以便与之交互,并对项目前端进行分析。我有一个网格,需要在服务器端分页、排序和筛选。这是所涉及的GET方法的服务器代码:
[HttpGet]
public IActionResult Get(int activos=1, string source="", int idarticulo = -1, string filtro = "", string ordenar = "", int ordenarsentido = 1, int registroinic = -1, int registros = -1)
{
// Check for a valid Token
if (!_validation.ValidarToken(User)) return Unauthorized();
IArticulosService articulosService = new ArticulosService(_validation.sConnectionString, _validation.sEmpresa);
try
{
return Ok(articulosService.ListarVista(activos, filtro, ordenar, ordenarsentido, registroinic, registros));
}
catch (QueryFormatException ex)
{
return BadRequest(ex.Message);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return StatusCode(StatusCodes.Status500InternalServerError);
}
}一切都很好。当我试图对JSON响应进行处理时,问题就出现了。
ListarVista()函数返回表示数据库视图的类的数组。它有大约20个字段。现在,我需要用户选择在网格上表示哪些字段,以及按哪个顺序表示。
我可以通过创建另一个方法来返回要呈现的列来解决这个问题,但是我的Get方法仍然返回每个调用中的所有20个字段是无效的。另外,我需要将所有网格内容导出到Excel中。如果我使用相同的方法,我将再次得到所有的20个字段。
所以我的问题是,我必须在服务器端上个性化JSON响应的哪些选项
发布于 2018-04-15 19:38:55
我认为这一个应该帮助你。
在此场景中,如果您标识方法在哪个用户上下文中调用,则可以为每个对象甚至每个用户创建JsonSerializationSettings。
https://stackoverflow.com/questions/49844176
复制相似问题