1
resposta

Django Rest Framework

Boa tarde!

Estou trabalhando em uma API desenvolvida com DRF, onde preciso que seja removida no final da URL as /. Por exemplo, quero fazer um PUT e eu fizer assim http://127.0.0.1:8000/produto/1/ funcina, mas se eu fizer assim http://127.0.0.1:8000/produto/1, não encontra. Pesquisando pela internet e a documentação entrei algo a respeito de uma configuração no settings.py APPEND_SLASH=False, que removeria a /, mas testei e não funcionou. Alguém já passou por isso e sabe como resolver?

urls.py

router = routers.DefaultRouter()
router.register(r'produto', ProductViewSet)
router.register(r'pedido', PedidosViewSet)
router.register(r'fabricante', FabricanteViewSet)
router.register(r'usuario', UsuarioViewSet)
router.register(r'pedido-produtos', PedidoProdutosViewSet)


urlpatterns = [
    path('', include(router.urls)),
    path('admin/', admin.site.urls),
    path('auth-login/', TokenObtainPairView.as_view()),
    path('auth-login/refresh', TokenRefreshView.as_view()),
    path('api-auth', include('rest_framework.urls'))
]

settings.py

APPEND_SLASH=False
1 resposta

passa trailing_slash=False pro seu construtor de rotas, se ainda assim não funcionar, tenta isso.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software