Eu tenho uma API REST com operações GETs que recebem uma lista (longa) de parâmetros (8 parâmetros, por exemplo). O objetivo desta operação é pesquisar e filtrar elementos.
Qual é a melhor prática para gerenciar esse cenário ?:
(1) Recebe uma lista de parâmetros ?:
public ResultType Get(int p1, int p2, string p3...) { ... }
(2) Ou recebe um objeto que encapsula esses parâmetros ?
public class MyClass
{
public int X { get; set; }
public int Y { get; set; }
public string Z { get; set; }
}
public ResultType Get(MyClass parameter) { ... }
Pense em um cenário de comércio eletrônico no qual você deseja pesquisar e filtrar "produtos" por nome, descrição, categoria, marca, modelo, preço, etc ...