Les docs disent que vous pouvez définir trailing_slash=False
mais comment pouvez-vous permettre aux deux points de terminaison de fonctionner, avec ou sans barre oblique de fin?
Vous pouvez remplacer le __init__
method de la classe SimpleRouter:
from rest_framework.routers import SimpleRouter
class OptionalSlashRouter(SimpleRouter):
def __init__(self):
self.trailing_slash = '/?'
super(SimpleRouter, self).__init__()
Le ?
le caractère rendra la barre oblique facultative pour tous les itinéraires disponibles.
Vous pouvez également remplacer ce paramètre en passant un trailing_slash
argument du constructeur SimpleRouter
comme suit:
from rest_framework import routers
router = routers.SimpleRouter(trailing_slash=False)