Comments (4)
Thanks for the message. It's hard to say what is happening. Can you confirm that both your views are instances of APIView ?
from django-rest-swagger.
Hey Marc, thanks for the quick response. I confirm all the views are APIView instances. Concretely, this:
(urls.py)
url(r'^user-(?P<user_id>[a-zA-Z0-9]+)/profile$', user.UserProfileView.as_view() ),
is declared like:
(views.py)
class UserProfileView(APIView):
"""Returns a xmpp user profile object. Now, only user-me is supported"""
authentication_classes = (authentication.SessionAuthentication,)
permission_classes = (permissions.IsAuthenticated,)
serializer_class = UserProfileSerializer
As i mentioned, this is only happen when resources are declared like this. We've other resources declared like:
url(r'^rooms/room-(?P[a-zA-Z0-9-]+)$', room.RoomView.as_view() ),
(RoomView is a RetrieveAPIView instance)
That are not being affected and are properly being displayed in the swagger html page.
I've tried to check what could be wrong in your code but it's a non trivial issue. Please, feel free to request any other info can help you find the issue
from django-rest-swagger.
Same problem here. I have a url with this format:
regex=r'^colony/nearby/(?P[0-9]+)/(?P[0-9]+)/$'
but don't appear in the api list. If I put 'user' instead of 'colony', swagger inspects it
propperly.
I'm using Django 1.5.5.
from django-rest-swagger.
I believe I have a similar issue, and it appears to originate with the get_top_level_apis
method found here: https://github.com/marcgibbons/django-rest-swagger/blob/master/rest_framework_swagger/urlparser.py#L67-L70
def get_top_level_apis(self, apis):
"""
Returns the 'top level' APIs (ie. swagger 'resources')
apis -- list of APIs as returned by self.get_apis
"""
root_paths = set()
api_paths = [endpoint['path'].strip("/") for endpoint in apis]
for path in api_paths:
if '{' in path:
continue
root_paths.add(path)
return root_paths
For example, if you have an analytics endpoint, with URLs such as /analytics/{pk}/
, but do not have a /analytics/
endpoint (no parameters) then the for loop in get_top_level_apis
will not record /analytics/
in the root_paths
list, causing it to not show up in the list of available APIs.
I temporarily solved this by creating an empty APIView
that maps to /analytics/
which lets django-rest-swagger detect it:
views.py:
class Analytics(APIView):
pass
urls.py:
url(r'^analytics/$', views.Analytics.as_view()),
from django-rest-swagger.
Related Issues (20)
- _frozen_importlib._DeadlockError: deadlock detected by _ModuleLock('django.test.signals') HOT 3
- Hide some classes from doc
- AttributeError at /swagger/ 'NoneType' object has no attribute 'title'
- Django JWT authentication does not load all the protected urls HOT 2
- 'AutoSchema' object has no attribute 'get_link' HOT 4
- swagger when use models.ForeignKey('self')
- Swagger not setting token in Authorization header HOT 2
- Can't add custom headers
- Wrong swagger grouping of root urls HOT 1
- Some URLs are not displaed in Swagger UI
- (django_version >= 3.0) template tag "staticfiles" removed HOT 9
- On reloading Swagger UI, it is loosing the authentication
- Restrict access to only admins
- TypeError: Expected a 'coreapi.Document' instance
- How to handle TemplateDoesNotExist HOT 4
- keyerror
- API's not visibale in Django Swagger landing page
- Server Error (500) Adding swagger doc to my api
- Django 3+ not support staticfiles pls support this feature HOT 2
- request: add option to remove the need to click "try it out" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-rest-swagger.