Commit graph

1910 commits

Author SHA1 Message Date
Joel Kaasinen
8bf4b5c6a6
Merge pull request #592 from metosin/openapi-fixes
misc. fixes for openapi3 support
2023-03-15 17:47:44 +02:00
Joel Kaasinen
d0ff64df57 test: simplify openapi_test.clj a bit more 2023-03-15 16:01:57 +02:00
Joel Kaasinen
bcd12d9f31 refactor: push openapi/openapi-spec call inside merge
to make reitit.coercion.spec match reitit.coercion.schema
2023-03-15 13:38:34 +02:00
Joel Kaasinen
41c4d78823 chore: reformat http-swagger example 2023-03-15 13:21:14 +02:00
Joel Kaasinen
5107658c25 fix: typo on examples/http-swagger 2023-03-15 13:20:02 +02:00
Joel Kaasinen
66e7c9e1c8 test: nicer handling of missing :additionalProperties for spec 2023-03-15 13:19:01 +02:00
Joel Kaasinen
0c82ce0e4d
Merge pull request #588 from metosin/openapi
Initial Openapi3 support
2023-03-15 09:34:16 +02:00
Joel Kaasinen
6f72acdf32 doc: fix example in openapi-feature docstring 2023-03-15 09:24:27 +02:00
Tommi Reiman
23b2719be5 add version to swagger api 2023-03-14 21:09:03 +02:00
Tommi Reiman
25b75c877a offer both swagger & openapi docs in ui 2023-03-14 20:58:07 +02:00
Joel Kaasinen
814c8b88e2 refactor: factor out -identity-coercer 2023-03-14 14:39:05 +02:00
Joel Kaasinen
bbaf4b27f7 refactor: remove commented-out code 2023-03-14 14:37:53 +02:00
Tommi Reiman
11f47527f1 add reitit-openapi module, 0.5.18 -> 0.6.0 2023-03-14 12:24:05 +02:00
Joel Kaasinen
9b50baca0c doc: examples/http-swagger: authentication 2023-03-13 15:37:49 +02:00
Joel Kaasinen
20cafa3d9b doc: examples/http-swagger: tags for openapi, openapi-feature 2023-03-13 07:33:42 +02:00
Joel Kaasinen
7defd98808 doc: Swagger-UI 5.0.0-alpha.0 has OpenAPI 3.1 support
mention in docs, use in http-swagger example
2023-03-10 14:34:05 +02:00
Joel Kaasinen
304b77cb7d doc: mention lack of swagger-ui support for openapi 3.1 2023-03-10 13:53:10 +02:00
Joel Kaasinen
3fa50ea0f6 doc: mark openapi support as alpha 2023-03-10 10:17:42 +02:00
Joel Kaasinen
8c87fef7b6 feat: warning when swagger encounters per-content-type coercions 2023-03-10 08:52:45 +02:00
Joel Kaasinen
ae55b6628c doc: update docstring of openapi-feature 2023-03-09 10:21:46 +02:00
Tommi Reiman
2a789557f2
Merge pull request #590 from dgb23/patch-1
Update composing_routers.md
2023-03-09 08:40:53 +02:00
Joel Kaasinen
50c1af9a5b feat: route data validation for per-content-type coercions 2023-03-08 14:39:52 +02:00
Joel Kaasinen
9ae3cd0824 fix: reitit.openapi route data validation
:kind set? would've worked, but there's no need to insist a set

also, turn on route data validation in openapi_test.clj
2023-03-08 14:39:52 +02:00
Joel Kaasinen
8df8bf06cc doc: initial docs for openapi support & per-content-type coercion 2023-03-08 11:23:18 +02:00
Joel Kaasinen
52b7402575 doc: openapi in examples/http-swagger 2023-03-08 11:22:02 +02:00
Joel Kaasinen
2cc6e33654 test: openapi operationId, tags and deprecated 2023-03-08 10:55:23 +02:00
Joel Kaasinen
16145dbdce test: validate generated openapi specs in all tests 2023-03-07 09:13:38 +02:00
dgb23
11534551da
Update composing_routers.md
I wondered how one would wrap a ring handler that can be recreated at runtime without restarting the server. @ikitommi suggested to use the recently added `reloading-ring-handler` as a starting point.

I propose a small example here that illustrates the pattern.
2023-03-07 00:13:15 +01:00
Wes Morgan
4f31304a1a
Lift definitions to root of swagger.json
...so that all of the absolute $ref's to them will resolve
2023-03-06 12:16:48 -07:00
Wes Morgan
229171c7e3
Move more of swagger gen into malli lib
...so we can fix #558.
2023-03-06 12:15:20 -07:00
Joel Kaasinen
8e099febdd test: validate generated openapi spec 2023-03-06 16:10:48 +02:00
Joel Kaasinen
2596f25411 chore: openapi-schema-validator dev dependency 2023-03-06 16:10:48 +02:00
Joel Kaasinen
df0d4c4935 chore: upgrade node 2023-03-06 16:10:48 +02:00
Joel Kaasinen
4c990fb44f feat: openapi default request/response schemas
use a default schema from :request/:response :body for all specified
:content-types
2023-03-06 10:58:03 +02:00
Joel Kaasinen
c3a3ca9f95 feat: change syntax for :request parameter coercion default schema
use :request :body instead of :request :content :default for symmetry
with :response
2023-03-06 10:54:24 +02:00
Joel Kaasinen
7842160656 Merge remote-tracking branch 'origin/master' into openapi 2023-03-03 14:43:23 +02:00
Joel Kaasinen
2d60702769 fix: per-content-type openapi w/ spec 2023-03-03 14:15:31 +02:00
Joel Kaasinen
b149c8c5af test: rework openapi3 tests
- DRY out all-parameter-types-test and per-content-type-test
- Remove redundant assertions
- Run same test for malli/schema/spec
- Clean up commented-out code etc.
2023-03-03 14:15:31 +02:00
Joel Kaasinen
c8d679c6b3 feat: per-content-type request/response coercions
implemented on the reitit-core level so individual coercions don't
need changes

syntax:

{:parameters {:request {:content {"application/edn" [:map ...]}}}
 :responses {200 {:content {"application/edn" [:map ...]}}}}
2023-03-03 14:15:31 +02:00
Joel Kaasinen
8f48cdc96c test: enable openapi spec tests 2023-03-03 14:15:22 +02:00
kimmoahola
aec611f8b7 Fix date of version 0.6.0 2023-02-22 13:11:46 +02:00
Tommi Reiman
ae138c6dec updated release guide 2023-02-21 15:54:52 +02:00
Tommi Reiman
47f1ee0c84 0.6.0 2023-02-21 15:17:00 +02:00
Ilmo Raunio
310dcd0e99
Merge pull request #581 from metosin/add-support-for-fragment-parameters-2
Add reitit-frontend support for fragment string
2023-02-21 15:05:25 +02:00
Ilmo Raunio
e490f5df05
Merge pull request #584 from metosin/reloading-ring-handler
reloading-ring-handler
2023-02-21 14:42:33 +02:00
Juho Teperi
2494f702d9 Read fragment string without decoding
Users can use Malli decoding to control decoding per schema.
2023-02-16 13:13:48 +02:00
Juho Teperi
83c31e35bc Revert "Revert "Merge pull request #554 from just-sultanov/add-support-for-fragment-parameters""
This reverts commit 4d1b00edfa.
2023-02-16 11:53:27 +02:00
Joel Kaasinen
f03134e215 fix: malli openapi tests
malli.json-schema now outputs `:additionalProperties false`
2023-02-15 16:07:23 +02:00
Tommi Reiman
b6c046318b
Merge pull request #586 from bplubell/fix-ring-router-docs
Fix incorrect ring-router doc references
2023-02-01 17:30:42 +02:00
bplubell
e175dc76c9 Fix incorrect ring-router doc references
It looks like documentation references to `ring-router` are left-overs
from early README examples - I couldn't find any code that ever used the
name. The Ring router named `reitit.ring/router`.

While it didn't take too long for me to realize why my `ring-router` was
not working, I had to look the examples to figure out the name of the
function was just `router` - which was confusing since the section
header stated `reitit-router`.
2023-01-31 15:51:31 -08:00