Stig Brautaset
f262daa454
Add separate validation options to Malli coercer
...
The motivation for this is adding a new API to a legacy service whose
data model has evolved over the years. Maybe we cannot guarantee the
presence of all fields that are considered mandatory now. Rather than
blowing up when attempting to return legacy entries we may want to
disable response validation.
However, we do want to ensure *new* entries added to the system are
valid, so we do not want to disable request validation.
Retain the ability to turn off both request and response validation with
a single setting for backwards compatibility.
2023-10-30 10:44:22 +00: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