dconathan
3025a368c6
✨ Add support and tests for Pydantic dataclasses in response_model ( #454 )
2019-08-30 18:12:15 -05:00
Zoltan Papp
c5817912d2
🐛 use media_type from Body params for OpenAPI requestBody ( Fixes : #431 ) ( #439 )
2019-08-30 17:32:39 -05:00
Zoltan Papp
19c53b21c1
✨ Allow using custom 422 validation error and use media type from response class in schema ( #437 )
...
* media_type of additional responses from the response_class
* Use HTTPValidationError only if a custom one is not defined (Fixes : #429 )
2019-08-30 16:46:05 -05:00
Sebastián Ramírez
55c4b5fb0b
🐛 Fix "default" extra response with extra status codes ( #489 )
...
* 🐛 Fix lowercase "default" extra response
* 🐛 Fix model for responses, to allow "default" plus status codes
* ✅ Add test for "default" extra response
2019-08-30 16:34:47 -05:00
Zoltan Papp
73dbbeab55
✨ Allow additional responses to use status ranges and "default" ( #435 )
2019-08-30 11:17:42 -05:00
dmontagu
38495fffa5
🐛 Fix skip_defaults implementation when returning a Pydantic model ( #422 )
2019-08-26 08:24:58 -05:00
dmontagu
483eb73b26
🐛 Use caching logic to determine OpenAPI spec for duplicate dependencies ( #417 )
2019-08-24 21:55:25 -05:00
Vitaliy Kucheryaviy
f7f17fcfd6
✨ Allow empty routed path (issue #414 ) ( #415 )
2019-08-24 19:39:48 -05:00
Koudai Aono
06eb421934
Fix request body parsing with Union ( #400 )
2019-08-07 13:55:33 -05:00
Sebastián Ramírez
25e85c8522
✅ Add test from @dmontagu in #333 for duplicate models ( #385 )
2019-07-12 19:13:28 -05:00
Sebastián Ramírez
9a71672a95
📝 Update enum examples to use str, and improve Swagger UI in examples ( #351 )
2019-06-28 21:27:27 +02:00
Sebastián Ramírez
62df417807
✅ Add test for templates in include_router path ( #349 )
2019-06-28 20:15:17 +02:00
Sebastián Ramírez
687065509b
🏗️ Fix same function names in different modules with composite bodies ( #347 )
...
* 🏗️ Implement unique IDs for dynamic models
like those used for composite bodies and responses. IDs based on path (not only on function name, as it can be duplicated in a different module).
* ✅ Add tests for same function name and composite body
* ✅ Update OpenAPI in tests with new dynamic model ID generation
2019-06-28 19:35:16 +02:00
Sebastián Ramírez
aa84ac8e3e
✨ Implement support for Pydantic's ORM mode ( #322 )
...
* ✨ Implement support for Pydantic's ORM mode
* 🏗️ Re-structure/augment SQL tutorial source using ORM mode
* 📝 Update SQL docs with SQLAlchemy, ORM mode, relationships
* 🔥 Remove unused util in tutorial
* 📝 Add tutorials for simple dict bodies and responses
* 🔥 Remove old SQL tutorial
* ✅ Add/update tests for SQL tutorial
* ✅ Add tests for simple dicts (body and response)
* 🐛 Fix cloning field from original field
2019-06-20 11:31:32 +02:00
Eric Du
5b3adfe449
✨ Use default response status reasons in additional responses ( #313 )
...
* default the description of additional response to status reason phrase
* fix 404 description
* fix lint warning
* allow custom response status code
2019-06-18 09:46:57 +02:00
James Kaplan
f0df79aa91
⬆️ Upgrade Pydantic to 0.28 ( #320 )
2019-06-18 09:37:40 +02:00
Sebastián Ramírez
6939621730
bug: Fix handling an empty-body request with a required body param ( #311 )
...
* 🐛 Fix solving a required body param from an empty body request
* ✅ Add tests for receiving required body parameters with body not provided
2019-06-13 18:37:48 +02:00
Sebastián Ramírez
5f7fe926ab
✨ Add support for Response parameters to set headers, cookies, and status codes ( #294 )
...
* ✨ Add support for declaring a Response parameter to set headers and cookies
* ✅ Add source for docs and tests
* 📝 Add docs for setting headers, cookies and status code
* 📝 Add attribution to Hug for inspiring response parameters
2019-06-06 14:29:40 +04:00
Sebastián Ramírez
bff5dbbf5d
✨ Implement dependency value cache per request ( #292 )
...
* ✨ Add dependency cache, with support for disabling it
* ✅ Add tests for dependency cache
* 📝 Add docs about dependency value caching
2019-06-05 21:00:54 +04:00
Sebastián Ramírez
09cd7c47a1
✨ Implement dependency overrides for testing ( #291 )
...
* ✨ Implement dependency overrides for testing
* ✅ Add docs source tests and extra tests for dependency overrides
* 📝 Add docs for testing dependencies with overrides
2019-06-05 15:43:18 +04:00
Sebastián Ramírez
c7db2ff858
🐛 Fix path and query parameters receiving dict as valid ( #287 )
...
* 🐛 Fix path and query parameters accepting dict
* ✅ Add several tests to ensure invalid types are not accepted
* 📝 Document (to include tested source) using query params with list
* 🐛 Fix OpenAPI schema in query with list tutorial
2019-06-03 21:59:40 +04:00
Sebastián Ramírez
d262f6e929
🐛 Fix HTTP Bearer security auto-error ( #282 )
2019-06-01 09:57:45 +04:00
Sebastián Ramírez
bd407cc4ed
✨ Refactor param extraction using Pydantic Field ( #278 )
...
* ✨ Refactor parameter dependency using Pydantic Field
* ⬆️ Upgrade required Pydantic version with latest Shape values
* ✨ Add tutorials and code for using Enum and Optional
* ✅ Add tests for tutorials with new types and extra cases
* ♻️ Format, clean, and add annotations to dependencies.utils
* 📝 Update tutorial for query parameters with list defaults
* ✅ Add tests for query param with list default
2019-05-30 17:40:43 +04:00
Sebastián Ramírez
62af6e0eeb
✨ Separate Pydantic's ValidationError handler and improve docs for error handling ( #273 )
...
* ✨ Implement separated ValidationError handlers and custom exceptions
* ✅ Add tutorial source examples and tests
* 📝 Add docs for custom exception handlers
* 📝 Update docs section titles
2019-05-29 16:27:55 +04:00
Sebastián Ramírez
703ade7967
🐛 Fix path in path parameters ( #272 )
2019-05-29 13:34:46 +04:00
Sebastián Ramírez
7b63bc5551
✨ Add include, exclude, and by_alias to path operation methods ( #264 )
...
* ✨ Make jsonable_encoder's include and exclude receive sequences
* ✨ Add include, exclude, and by_alias to app and router
* ✨ Add and update tutorial code with new parameters
* 📝 Update docs for new parameters and add docs for updating data
* ✅ Add tests for consistency in path operation methods
* ✅ Add tests for new parameters and update tests
2019-05-27 16:08:13 +04:00
William Hayes
d8716f94ae
✨ Add skip_defaults support for path operations (for #242 ) ( #248 )
2019-05-25 19:35:57 +04:00
James Kaplan
b087246f26
✨ Add support for WebSockets with dependencies, params, etc #166 ( #178 )
2019-05-24 20:41:41 +04:00
Steinthor Palsson
325edd5f00
✨ Add swagger UI OAuth2 redirect page for implicit/code auth flows in API docs ( #198 )
2019-05-21 22:39:58 +04:00
euri10
f54d8d57a4
✨ Make Swagger UI and ReDoc parameterizable to host offline assets for docs ( #112 )
2019-05-20 11:26:54 +04:00
Sebastián Ramírez
e92b43b5c8
✨ Add parameter dependencies to path operation decorators and include_router ( #235 )
...
* ✨ Implement dependencies in decorator and .include_router
* 📝 Add docs for parameter dependencies
* ✅ Add tests for dependencies parameter
* 🔥 Remove debugging prints in tests
* 📝 Update release notes
2019-05-16 18:07:00 +04:00
euri10
adfbd27100
🐛 Fix OpenAPI URL format for Starlette convertors ( #234 )
2019-05-16 17:55:14 +04:00
Sebastián Ramírez
3797c04946
✨ Use 401 with WWW-Authenticate for OAuth2 and add scope_str ( #188 )
2019-04-27 17:00:56 +04:00
Sebastián Ramírez
c1df0f6b84
✨ Add docs and tests for Jinja2 templates ( #186 )
...
* ✨ Add docs and tests for Jinja2 templates
* 🎨 Fix format in test, remove unused import
2019-04-26 18:49:15 +04:00
Sebastián Ramírez
528ef7e079
✨ Docs and tests, responses with headers and cookies ( #185 )
2019-04-26 15:13:59 +04:00
Sebastián Ramírez
c705685394
✨ Add docs for HTTP Basic Auth and tests ( #177 )
2019-04-21 22:30:58 +04:00
Sebastián Ramírez
f216d340ec
✨ Add automatic header handling for HTTP Basic Auth ( #175 )
...
* ✨ Add automatic header handling for HTTP Basic Auth
* 🎨 Remove obsolete comment
2019-04-21 21:44:25 +04:00
Sebastián Ramírez
9e748dbca4
✨ By default, encode by alias ( #168 )
2019-04-20 20:29:54 +04:00
Sebastián Ramírez
61dd36a945
✨ Upgrade docstring Markdown parsing ( #163 )
...
* ✨ Upgrade docstring Markdown parsing
* 📝 Update release notes
2019-04-16 22:49:18 +04:00
Sebastián Ramírez
aad6b123f7
✨ Add support for multi-file uploads ( #158 )
2019-04-14 22:12:14 +04:00
Sebastián Ramírez
84de980977
✨ Add docs about responses with additional status codes ( #156 )
...
* ✨ Add docs about responses with additional status codes
* 📝 Update docs, link to documenting additional responses
2019-04-12 22:43:21 +04:00
Sebastián Ramírez
88ece95a30
🎨 Improve automatic naming of path operations in API docs ( #155 )
...
* 🎨 Improve operation summary naming
* 📝 Update names in README
* 🚚 Improve names of security tutorial
2019-04-12 21:25:26 +04:00
Sebastián Ramírez
46e3811f8d
✨ Add testing docs and tests ( #151 )
...
* ✏️ Fix typo in security intro
* ✨ Add testing docs and tests
* 🐛 Debug Travis coverage
* 🐛 Debug Travis coverage, report XML
* 💚 Make Travis/Flit use same code install
* ⏪ Revert Travis/Codecov debugging changes
2019-04-12 20:15:05 +04:00
Sebastián Ramírez
7391056daf
✨ Add OAuth2 scopes with SecurityScopes, upgrade Security ( #141 )
...
* ✨ Upgrade OAuth2 Security with scopes handling
* 📝 Update Security tutorial with OAuth2 and JWT
* ✨ Add tutorial code for OAuth2 with scopes (and JWT)
* ✅ Add tests for tutorial/OAuth2 with scopes
* 🐛 Fix security_scopes type declaration
* ✨ Add docs and tests for SecurityScopes
2019-04-09 23:29:04 +04:00
Sebastián Ramírez
c8df3ae57c
🐛 Fix handling additional responses in include_router ( #140 )
2019-04-05 20:06:40 +04:00
Sebastián Ramírez
ad471307e2
✨ Additional Responses ( #97 )
...
Add additional responses to OpenAPI, including Pydantic models or schemas directly, custom status codes, media types, extending `response_model`, etc.
2019-04-05 14:18:28 +04:00
Sebastián Ramírez
2bd775988f
✨ Add/refactor addditional responses, tests, docs
2019-04-05 13:54:00 +04:00
Sebastián Ramírez
fad3a9e1dc
✨ Add auto_error to security utils ( #134 )
...
to allow them to be optional, also allowing the declaration of multiple security schemes
2019-04-03 15:44:52 +04:00
Sebastián Ramírez
dd6ab23b62
✨ Add docs/tests extending OpenAPI ( #126 )
2019-03-30 19:53:44 +04:00
Sebastián Ramírez
b7d184363f
🐛 Fix JSON Schema of additional properties ( #121 )
...
#87
2019-03-29 15:15:49 +04:00