1
resposta

Nomentaclatura dos endpoints

Boa tarde,

Supondo que eu quero publicar dois endpoints que nada mais são do que uma consulta, um GET, em uma entidade, "Pessoas", por exemplo... eu quero ter um recurso rest que retorna os dados da pessoa pelo cpf e outro pelo cnpj.

Os paths abaixo(com path params) seguem as boas práticas de nomenclatura de recursos do REST?

/pessoas/cpf/{cpf}
/pessoas/cnpj/{cnpj}

Ou eu deveria implementar query params, como abaixo?

/pessoas?cpf={cpf}
/pessoas?cnpj={cnpj}
1 resposta

Oi Fernando.

Acredito que depende da situação.

Se o serviço precisa obrigatoriamente do parâmetro eu usaria o primeiro caso. Mas se você passar uma lista de parâmetros que não são obrigatórios, ou seja, que talvez sirvam apenas como filtro, usaria o segundo caso.

Veja mais aqui: http://www.matera.com/blog/post/boas-praticas-para-desenvolvimento-de-apis-rest

Espero que ajude!