tabnews.com.br icon indicating copy to clipboard operation
tabnews.com.br copied to clipboard

Obter conteúdo pela API usando o ID do usuário e da publicação ao invés do username e slug

Open 33gustavo33 opened this issue 2 years ago • 5 comments

Atualmente, o único jeito de acessar uma publicação pela api pelo que eu percebi, é assim: https://www.tabnews.com.br/api/v1/contents/{username do dono}/{slug}

O que eu queria saber é se tem algum jeito de acessar uma publicação assim: https://www.tabnews.com.br/api/v1/contents/{id do dono}/{slug} ou até mesmo: https://www.tabnews.com.br/api/v1/contents/{id do dono}/{id da publicação}

33gustavo33 avatar Sep 09 '22 21:09 33gustavo33

Gustavo, ótima pergunta! Hoje pela API a única forma é pelo /contents/[username]/[slug]

Qual seu caso de uso? Talvez eu consiga encontrar uma solução 🤝

filipedeschamps avatar Sep 09 '22 21:09 filipedeschamps

Então Filipe, eu queria poder acessar por id as publicações por um simples motivo:

Quando alguém muda o username, as urls já existentes para aquela publicação quebram. porém se fosse possível acessar com o id, as urls continuariam funcionando.

33gustavo33 avatar Sep 09 '22 21:09 33gustavo33

Perfeito! Este acaba sendo o mesmo problema do GitHub, onde segundo a documentação deles para esse caso, algumas coisas conseguem ser atualizadas automaticamente, mas algumas não. Referências absolutas são um desses casos.

Em paralelo, daria para a API conseguir lidar com username e user_id na mesma rota, mas usar isso para as páginas de forma pública ficaria estranho. Uma página com username poderia ter como sua URL canônica a página com user_id, mas acredito que isso traria uma complexidade ruim para o projeto e para as URLs públicas.

filipedeschamps avatar Sep 09 '22 21:09 filipedeschamps

É, acho melhor deixar só pra API lidar com user_id.

33gustavo33 avatar Sep 09 '22 21:09 33gustavo33

ou talvez redirecionar o usuario para a url nova, o github faz isso tambem. isso envolveria colocar um historico de nomes, pra isso tambem é preciso priorizar posts reais com o nome antigo de outro post pra não ter problemas.

Usuario cria post
Usuario muda o nome
A URL antiga redireciona para a nova
Um novo usuario pega o nome antigo do outro usuario
Cria um post com o mesmo slug
Agora a URL antiga aponta para o post desse usuario

coffeeispower avatar Oct 30 '22 18:10 coffeeispower