Derzeit ist das Projekt arbeite ich an hat eine API wie folgt aus:Django API mit verschiedenen Ebenen
api/
visitors/ # Endpoint returning list of visitors
visitor-rates/ # Endpoint returning visitors per time
gift-shop-orders/ # Endpoint returning purchases at the gift shop
order-rates/ # Endpoint returning purchases per time
Was ich möchte, ist zu tun Gruppe der Besucher und Schenkungssteuer Endpunkte unter ihrem eigenen Unter -Überschrift. Zum Beispiel:
api/
visits/
visitors/
rates/
gift-shop/
orders/
rates/
Beachten Sie, dass visits
und gift-shop
nur die Aufgabe, die Auflistung aus der URLs, die unter der jeweiligen Tarifstelle zur Verfügung stehen. So sollte eine GET-Anfrage an /api/visits
zurück:
{
"visitors": "/api/visits/visitors",
"rates": "/api/visits/rates"
}
Mit anderen Worten, würde Ich mag /api/visits/
und /api/gift-shop/
das gleiche Verhalten wie die Standard-Router Ansicht von Django verwendet haben, für die Endpunkte in der Wurzel verfügbar Anzeigen von die API (/api/
).
Ich habe versucht, einfach nur die URLs verschachteln. Angenommen, ich habe Router für die Endpunkte der Besucher und Endpunkte des Shops definiert. Ich habe versucht:
api_patterns = [
url(r'^visits/', include(visitor_router.urls)),
url(r'^gift-shop/', include(shop_router.urls)),
]
urlpatterns = [
url(r'^api/', include(api_patterns)),
]
Das es so, dass Anfragen macht /api/visits/
und /api/gift-shop/
reagieren richtig. Wenn ich jedoch zu /api/
gehe, werden keine Verbindungen zu /api/visits
oder /api/gift-shop
gegeben.
Dies führt zu der Annahme, dass ich die Router selbst verschachteln muss, nicht nur die URLs. Ich habe jedoch keine Dokumentation darüber gesehen, und meine Versuche, eine maßgeschneiderte Lösung zu finden, haben nur zu anderen Problemen geführt. Weiß jemand, ob es eine einfache Standardmethode gibt, die ich vermisse?
tl; dr: Wie schiebe ich Django Router?
hast du vergessen, urlpatterns anzufügen? 'urlpatterns + = [ URL (r '^ api /', include (api_patterns)), ]'? – MaximeK