Markus Penttilä
702e7b8972
Add OpenAPI :requestBody for :form request schema
...
OpenAPI Specification 3 requires defining form parameters, i.e. classic
application/x-www-form-urlencoded type body as a :requestBody. They are
not supported as regular parameters like in OAS 2.
2024-10-09 22:28:57 -04:00
Tommi Reiman
d11deb3473
Merge pull request #701 from bsless/fix-interface-maps
...
Add dispatch for every implementation of IPersistentMap
2024-09-30 20:03:41 +01:00
Joel Kaasinen
e2c63d6579
Merge pull request #697 from dekelpilli/master
...
fix: fix bug where http ring handler would cause :path to be applied twice
2024-09-25 10:45:02 +03:00
Joel Kaasinen
610586f0d3
fix: OpenAPI :description belongs at Response level, not Media Type
...
also, support singular :example in addition to :examples
2024-09-16 12:46:57 +03:00
Ben Sless
c96b22bc5f
Add dispatch for every implementation of IPersistentMap
...
Closes #700
2024-09-13 20:25:51 +03:00
Dekel Pilli
f1ec7bbe8e
fix: fix bug where http ring handler would cause :path to be applied twice
2024-09-02 15:40:00 +10:00
Tommi Reiman
d926ef7591
0.7.2
2024-08-30 18:05:18 +03:00
Tommi Reiman
8b0c8a3c18
Merge pull request #696 from metosin/post-693
...
Followup 693
2024-08-27 14:16:04 +03:00
Tommi Reiman
bffe360c6d
Merge pull request #506 from bsless/faster-keywordize
...
Faster keywordize
2024-08-27 14:11:48 +03:00
Tommi Reiman
734fca7d4a
Merge pull request #694 from whamtet/master
...
bugfix
2024-08-27 14:08:56 +03:00
Tommi Reiman
5a2ae56991
simplify
2024-08-27 14:06:15 +03:00
Tommi Reiman
d8a8bce272
move out of public api
2024-08-27 14:06:09 +03:00
Matthew Molloy
c94ecf5ca7
bugfix
2024-08-26 09:00:30 +09:00
Ben Sless
4eab67a8db
reduce-kv over treemap
2024-08-25 19:25:54 +03:00
Ben Sless
7dfc0e5fca
Fix dynamism
2024-08-25 19:19:26 +03:00
Ben Sless
61783e4c81
Statically def transducer
...
Eliminates allocation and friendlier to JIT
2024-08-25 18:56:30 +03:00
Ben Sless
59642e51f1
Decrease code size and eliminate an allocation
2024-08-25 18:54:55 +03:00
Ben Sless
dcb7258caf
Tailor keywordize implementation to concrete types
...
Even faster
2024-08-25 18:50:43 +03:00
Ben Sless
7ab6021630
Add faster keywordize-keys implementation for clj
2024-08-25 18:25:54 +03:00
Ben Sless
c48b6a3704
Speed up routes code path
...
Fixes #692
2024-08-25 16:20:49 +03:00
Ben Sless
a0467d52cd
Inline call to routes
2024-08-25 16:20:15 +03:00
Tommi Reiman
5589328a3c
0.7.1
2024-06-30 18:58:46 +03:00
Tommi Reiman
e8c3035254
.
2024-06-30 18:31:14 +03:00
Tommi Reiman
aec024a943
fix
2024-06-30 18:29:52 +03:00
Tommi Reiman
49e8d887da
fixes #679
2024-06-30 17:55:47 +03:00
Tommi Reiman
ee67a746d4
reduce-kv
2024-06-30 17:55:23 +03:00
Tommi Reiman
2da94f733d
don't merge records
2024-06-29 16:21:28 +03:00
Peter Strömberg
2f3fc21c84
Add arities 1 and 2 to rf/match->path
...
To adhere to the docstring's info about parameter 2 and 3 being optional
2024-06-21 09:59:33 +02:00
Tommi Reiman
877c45af90
bump up version
2024-04-30 11:51:18 +03:00
Tommi Reiman
2be0dbbb2a
0.7.0-alpha8
2024-04-30 11:12:39 +03:00
Joel Kaasinen
037763561e
fix: location of openapi :requestBody :description
...
:description should be under :requestBody, not under :content. Thanks
to openapi-schema-validator for noticing this.
Also fix examples in openapi-malli-tests to make the resulting schema
valid.
2024-04-22 08:31:51 +03:00
Joel Kaasinen
337d94823a
feat: support ref schemas in openapi parameters
...
e.g. {:parameters {:query #'MyVar}}
2024-04-22 08:00:27 +03:00
Joel Kaasinen
288b701d4e
feat: openapi #/components/schemas
...
collect definitions when traversing the models, and put them in the
right place for openapi
depends on :malli.json-schema/definitions-path support
2024-04-22 08:00:27 +03:00
Joel Kaasinen
f41d555b62
Merge pull request #671 from metosin/fix-example
...
fix: remove unsupported coercions when generating swagger
2024-04-19 10:32:25 +03:00
Joel Kaasinen
b6c5b69ffe
Merge pull request #659 from frenchy64/escaped-double-quote-doc
...
Fix formatting of #'router docstring
2024-04-19 10:18:32 +03:00
Joel Kaasinen
01b476b342
fix: remove unsupported coercions when generating swagger
...
If we don't remove them, :responses :content gets passed out verbatim
in the swagger.json, breaking stuff.
In particular, fixes the swagger.json in
examples/reitit-malli-swagger. Reported broken in #669 .
2024-04-19 10:16:13 +03:00
Joel Kaasinen
c67a748915
Merge pull request #585 from djblue/var-handler
...
Allow var handlers
2024-03-15 10:35:22 +02:00
Joel Kaasinen
5d30a73bad
feat: reitit.core/Expand for Vars
2024-03-15 09:21:51 +02:00
Martín Varela
0e8d635e44
fix: added muuntaja dependency for the openapi module
2024-02-09 12:14:35 +02:00
Martín Varela
cb1c5e8748
made openapi clj, not cljc
2024-02-09 12:12:58 +02:00
Martín Varela
ed280f9a33
feature: fetch openapi content types from muuntaja
...
(level 1 integration in #636 )
2024-02-09 11:49:44 +02:00
Martín Varela
f1e6d37dcf
fix: don't output :default in openapi request body
2024-02-09 11:49:44 +02:00
Ambrose Bonnaire-Sergeant
5444bad439
Fix formatting of #'router docstring
...
Escaped double quotes breaks the clojure.repl/doc output.
2024-01-12 13:50:18 -06:00
Stig Brautaset
0fff06ec6b
Correct "effects" to "affects" in comments & docs
...
Their usage is commonly confused, but "affect" is usually a verb and
"effect" is usually a noun. In this case we want the verb. See also
https://www.merriam-webster.com/grammar/affect-vs-effect-usage-difference
2023-10-13 21:10:20 +01:00
Juho Teperi
15e0c95cb6
0.7.0-alpha7
2023-10-03 13:34:36 +03:00
Juho Teperi
d4a85c40e6
Revert group id change
...
Per discussions in Slack, changing the group id causes too much problems
2023-10-03 13:06:23 +03:00
Tommi Reiman
6a39dcd6ec
0.7.0-alpha6
2023-09-11 15:03:31 +03:00
Joel Kaasinen
ccc2b5636e
move all libs metosin/reitit => fi.metosin/reitit
...
metosin/ is a clojars legacy group, and new modules like
fi.metosin/openapi can't be created under it. Let's move everything
under fi.metosin
2023-09-11 11:04:36 +03:00
Joel Kaasinen
bad798d90d
feat: allow vectors for openapi/swagger :tags
...
no need to insist on set, and many of our examples use vectors anyway
2023-09-11 07:59:17 +03:00
Joel Kaasinen
b4c0936207
Merge remote-tracking branch 'origin/master' into fix-openapi-examples
2023-09-11 07:53:15 +03:00
Joel Kaasinen
5352fd4f99
fix: swagger & openapi ::tags spec
...
`#{}` isn't a valid :kind predicate
2023-09-11 07:40:13 +03:00
Joel Kaasinen
b206fc79b3
fix: spec for openapi-feature
2023-09-11 07:12:00 +03:00
Joel Kaasinen
7352358662
feat: rename openapi :content-types keyword, split for req & resp
2023-09-08 15:17:35 +03:00
Paulo Rafael Feodrippe
68adf50362
Remove duplicated :operationId
2023-09-07 16:39:39 -04:00
Joel Kaasinen
497da675b9
refactor: use update-vals
2023-09-01 10:37:17 +03:00
Joel Kaasinen
241c8367e3
feat: dissoc definitions from swagger methods
...
we only want the definitions on the very top level of the swagger doc
2023-08-30 09:38:33 +03:00
Joel Kaasinen
b316840ea0
fix: compile instead of -compile-model in malli.cljc
...
-compile-model now takes a vector of models, so
(-compile-model this model nil) fails. Just use compile directly like
master does.
2023-08-30 09:38:33 +03:00
Joel Kaasinen
f1d26791fc
Merge branch 'master' into rework-pr-589
2023-08-30 08:29:06 +03:00
Joel Kaasinen
85ebb343ed
refactor: remove dead code
2023-08-28 13:48:28 +03:00
Joel Kaasinen
d5021e549a
fix: pick up openapi examples from [:responses _ :content :default]
2023-08-28 13:48:23 +03:00
Joel Kaasinen
25aee5ed22
Merge remote-tracking branch 'origin/master' into fix-openapi-example
2023-08-28 13:01:58 +03:00
Joel Kaasinen
e4c75c7354
fix: dissoc unsupported [:responses nnn :content] for swagger
...
otherwise swagger generation crashes when it tries to serialize
something like `{:content {"foo/bar" any?}}`
also fix examples/ring-malli-swagger
2023-08-28 11:18:00 +03:00
Joel Kaasinen
8af89c05cb
refactor: get rid of reitit.coercion/get-apidocs
2023-08-28 10:06:14 +03:00
Joel Kaasinen
233ac19914
refactor: remove dead code
2023-08-28 10:03:07 +03:00
Joel Kaasinen
6f111bce2e
refactor: share -get-apidocs-openapi between malli, spec & schema
2023-08-28 09:24:10 +03:00
Joel Kaasinen
051452231a
refactor: -get-model-apidocs for schema & spec
...
not used yet tho
2023-08-28 09:02:11 +03:00
Joel Kaasinen
f943b025cb
refactor: no need to pass options into -get-apidocs-openapi
2023-08-28 08:59:58 +03:00
Joel Kaasinen
ee298ec362
refactor: Coercion.-get-model-apidocs, use it for malli openapi
2023-08-28 08:42:54 +03:00
Joel Kaasinen
803ed0933a
refactor: parameterise -get-apidocs-openapi with ->schema-object
2023-08-24 11:05:43 +03:00
Tommi Reiman
b0c810a981
Merge pull request #628 from metosin/openapi-parameters
...
Openapi parameters
2023-08-24 09:25:46 +03:00
Tommi Reiman
05cbed815f
review comment fixes
2023-08-24 08:38:18 +03:00
Tommi Reiman
adef7ad06e
read openapi metadata into openapi description
2023-08-23 16:43:34 +03:00
Tommi Reiman
226ca889b6
openapi content tests
2023-08-18 17:17:56 +03:00
Tommi Reiman
d8e9819e0a
fix responses & request
2023-08-18 16:47:20 +03:00
Juho Teperi
4a182588b4
Release 0.7.0-alpha5
2023-06-14 16:06:20 +03:00
Juho Teperi
a032abc910
Fix interceptors deps
2023-06-12 18:15:53 +03:00
Juho Teperi
cf5906030a
Reitit-dev fixes
2023-06-12 17:57:51 +03:00
Juho Teperi
ac410507f2
Fix reitit-dev deps
2023-06-12 17:50:10 +03:00
Tommi Reiman
b1404ada6d
top-level :request coercion & stuff
2023-05-28 16:49:08 +03:00
Tommi Reiman
93a4246682
allow default
2023-05-28 12:07:01 +03:00
Tommi Reiman
d17c97780e
wrap :content schemas in :schema
2023-05-27 19:01:17 +03:00
Tommi Reiman
3e6c3f589f
review comments
2023-05-22 20:23:47 +03:00
Tommi Reiman
9ac713f0e5
doesn't work properly with spec
2023-05-22 09:16:57 +03:00
Tommi Reiman
ce06214014
welcome 2-phase schema compilation
...
1) use `:update-paths` to handle data in certain (loose) paths differently
- accumulate schemas in all relevant routers into vector
- we do not know the coercion here (ring/http have special handling of data, e.g. http-methods)
2) run coercion compiler for the model to merge the effective model
- schema + malli = should work ok, spec = best effort
3) publish final schemas into compiled route data
2023-05-21 20:32:40 +03:00
Tommi Reiman
3f265888a4
cleanup
2023-05-21 20:16:45 +03:00
Tommi Reiman
550ea6da58
path-update
2023-05-21 20:13:43 +03:00
Tommi Reiman
4d0e40f135
ctrl.* is such test
2023-05-21 18:15:44 +03:00
Tommi Reiman
d45dd151b7
document meta-merge
2023-05-21 18:11:42 +03:00
Tommi Reiman
b3383b0396
0.7.3-alpha4
2023-05-17 18:23:05 +03:00
Joel Kaasinen
b56c15b64c
fix: openapi malli parameter descriptions
...
... should come from the parameter type, not from the parent :map
2023-05-17 08:19:44 +03:00
Juho Teperi
0b6ed62738
Release 0.7.0-alpha3
2023-05-05 12:57:31 +03:00
Juho Teperi
5adc5ffba0
Compile reitit.Trie with Java 1.8 target
2023-05-05 12:56:02 +03:00
Juho Teperi
e1f9cfb286
Fix versions
2023-05-05 11:18:38 +03:00
Juho Teperi
e204d4ff1b
Release 0.7.0-alpha2
2023-05-04 15:20:31 +03:00
Juho Teperi
9f6565f097
Merge pull request #604 from metosin/fix-377-fragment-strings
...
Fix #377 , navigate to routes with fragment string in frontend
2023-05-04 15:12:41 +03:00
Juho Teperi
b9f189b3f7
Fix Html5History missing fragment on initial load
2023-05-04 15:05:27 +03:00
Tommi Reiman
f015b6669a
fi
2023-05-03 15:41:11 +03:00
Tommi Reiman
3336880b01
0.7.0-alpha1
2023-05-03 10:25:01 +03:00
Wes Morgan
f237b0942e
Merge branch 'master' into fix/malli-swagger-defs
2023-04-17 09:44:36 -06:00
Joel Kaasinen
33f7b1ccd7
chore: upgrade lein-parent plugin
2023-04-13 09:23:08 +03:00