Commit Graph

76 Commits (1fc454fcfabc717c7070c9702dfa4c6f73867987)

Author SHA1 Message Date
Jiri Puc caa397b906 Add requirements.txt and README instructions for test project setup
Closes #32.
2018-01-01 19:17:42 +01:00
Cristi Vîjdea d39764d383 Add isort 2017-12-27 20:23:05 +01:00
Beau Gunderson 1f190744cd Add 'generate_swagger' management command (#31)
Closes #29.
2017-12-27 20:00:24 +01:00
Cristi Vîjdea c89f96fcb0
Prepare for 1.1.0 (#30)
* refactor the view inspection process to be more modular and allow recursive customization
* add operation_id argument to @swagger_auto_
* add inspections for min/max validators
* add support for URLPathVersioning and NamespaceVersioning
* integrate with djangorestframework-camel-case
* fix bugs, improve tests and documentation
2017-12-26 22:50:59 +01:00
Cristi Vîjdea 43034ddc4b Fixed assumption of dict ordering 2017-12-23 12:04:02 +01:00
Cristi Vîjdea 9f6ee4da87 Improve RelatedField and callable default handling
- callable default values will now be properly called 
  - PrimaryKeyRelatedField and SlugRelatedField will now return an appropriate type based on the relation model's Field
  - mock views now have a request object bound even when public is True
2017-12-23 11:52:57 +01:00
Cristi Vîjdea 8a8a9faeeb Fix swagger Try it out and make endpoints work 2017-12-21 17:20:46 +01:00
Cristi Vîjdea 6060192a89 Update changelog and clean up code 2017-12-18 14:23:57 +01:00
Cristi Vîjdea 06a461ec09
Merge pull request #21 from h-hirokawa/file-field-response
Add support for FileField response.
2017-12-18 13:16:21 +01:00
h-hirokawa 16b697b40d Add a field to ArticleSerializer in testproj for coverage. 2017-12-18 19:31:32 +09:00
h-hirokawa 8a0d5a964d Add support for serializers.FileField response. 2017-12-18 19:03:40 +09:00
Cristi Vîjdea 521172c195 Clean up Django 2 path backslashes
In Django 2, routes defines via urls.path are aggresively escaped when converted into regex.

This is a naive fix which unescapes all characters outside capture groups, but in the context of OpenAPI is okay because regular expressions inside paths are not supported anyway.

This issue affects django-rest-framework as well, as outlined in encode/django-rest-framework#5672, encode/django-rest-framework#5675.
2017-12-18 01:06:14 +01:00
Cristi Vîjdea 8a5be407e2 Document exotic usages of swagger_auto_schema
method_decorator works out of the box so might as well document an example
2017-12-16 20:38:40 +01:00
Cristi Vîjdea 73bd7a136d
Add query_serializer argument to swagger_auto_schema (#17)
Closes #16.
2017-12-16 15:37:42 +01:00
Cristi Vîjdea 174f1153b4
Fix broken SwaggerDict pickling (#15)
Closes #14.
2017-12-15 18:47:10 +01:00
Cristi Vîjdea f6a535eb45 Do not attempt to generate a response schema for form-only requests
It would probably fail because Schema objects cannot represent files
2017-12-15 11:14:47 +01:00
Cristi Vîjdea c66f7e8e01 Rename to drf-yasg
drf-swagger was already taken
2017-12-13 10:22:03 +01:00
Cristi Vîjdea 8883894775
Add more tests and cleanup coverage reports (#13)
Closes #11
2017-12-12 17:30:58 +01:00
Cristi Vîjdea bfced82ae4
Add suport for Response schemas (#10)
Schemas generated from Serializers will now be added to the `definitions` section by default, and used as `$ref` objects where needed.  
The Schema definition name is based on the serializer class name, and can be overriden by specifying a `__ref_name__` property on the Serializer. If this property is set to None, the schema will not be added to `definitions` and will be forced inline.

Closes #6, #7.
2017-12-10 03:06:49 +01:00
Cristi Vîjdea 652795f5db Add swagger_auto_schema method decorator for Operation customization
See #5.
2017-12-08 17:45:00 +01:00
Cristi Vîjdea 3f428d0cd1 Add `127.0.0.1` and `localhost` to ALLOWED_HOSTS 2017-12-06 09:46:33 +01:00
Cristi Vîjdea dce00156d5
Rewrite schema generation (#1)
* Completeley rewritten schema generation
* Added support for python 2.7 and 3.4
* Restructured testing and build configuration
* Added nested request schemas

This rewrite completely replaces the public interface of the django rest schema generation library, so 
further changes will be needed to re-enable and further extend the customization points one might want.
2017-12-05 19:46:02 +01:00
Cristi Vîjdea 93c51b992d Fix python 3.7 -> 3.7-dev and add flake8 testing
Also fixed flake8 errors.
2017-12-02 23:48:58 +01:00
Cristi Vîjdea 2b0d80dc0f Restructure project to add test support
* separated drf_swagger and testproj modules, moved both out of project root
* added testing support via pytest and tox
* enabled Travis CI
* integrated coverage & Coveralls
2017-12-02 22:48:29 +01:00
Cristi Vîjdea 207973ae5a Add README and documentation 2017-11-30 22:24:17 +01:00
Cristi Vîjdea ed02e3c3a1 Initial implementation as coreapi wrapper
* schema generation implemented via coreapi Document and openapi_codec
* schema interface selectable from the latest versions of swagger-ui and redoc
* feature parity with django-rest-swagger 2
2017-11-30 04:23:56 +01:00