Closed dukex closed 6 years ago
A ideia de suportar outros formatos de saída é facilitar o uso em outros softwares ou por usuários não-programadores (exemplo: CSV).
Eu não sei o quanto isso "foge" da filosofia REST, visto que (na minha visão) query strings devem ser usadas para modificar o conteúdo do recurso que será devolvido. A adição de ?formato=
seria apenas para facilitar o uso da API, fazendo com que recursos pudessem ser facilmente linkados em qualquer site, com representação direta em formatos que não o JSON-LD. O fato de suportar isso não quer dizer que não seria suportada alteração do formato de saída através de requisição pelo Content-Type
.
E por que não usar o formato no final do arquivo? .csv .rdf etc?
@dukex, isso é "menos REST" do que usar ?format=csv
, já que você estará alterando o nome do recurso HTTP (que, na verdade, é o mesmo, você só está pedindo que esse mesmo recurso seja representado em outro formato).
Se for seguir REST a risca, o formato retornado deveria ser de acordo com o header Accept enviado pelo cliente. Mas usar uma query string pode facilitar seu uso para um público maior (e menos conhecedor de headers de HTTP).
@rennerocha, como comentei: a ideia é só facilitar o uso. Então, as duas formas seriam suportadas, porém caso a query string esteja presente, ela será prioritária com relação ao header Accept
.
Talvez o melhor não seja usar format
e sim algo mais parecido com HTTP: sugiro content-type
. Exemplo: /unidades-federativas/rj/?content-type=n3
.
query string do formato sai fora da idéia do REST, acho que esses formatos são interessantes mas não vejo com uma prioridade