tabnews.com.br
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
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}
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 🤝
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.
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.
É, acho melhor deixar só pra API lidar com user_id.
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