Skip to content

Commit 0973da5

Browse files
authored
address #326 (#330)
Signed-off-by: Pierre Fenoll <[email protected]>
1 parent 2b6e6b5 commit 0973da5

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ swagger, err := openapi3.NewSwaggerLoader().LoadSwaggerFromFile("swagger.json")
5151
## Getting OpenAPI operation that matches request
5252
```go
5353
loader := openapi3.NewSwaggerLoader()
54-
spec, _ := loader.LoadSwaggerFromData([]byte(`...`))
55-
_ := spec.Validate(loader.Context)
56-
router, _ := openapi3filter.NewRouter(spec)
54+
doc, _ := loader.LoadSwaggerFromData([]byte(`...`))
55+
_ := doc.Validate(loader.Context)
56+
router, _ := gorillamux.NewRouter(doc)
5757
route, pathParams, _ := router.FindRoute(httpRequest)
5858
// Do something with route.Operation
5959
```
@@ -70,14 +70,15 @@ import (
7070
"net/http"
7171

7272
"github.com/getkin/kin-openapi/openapi3filter"
73+
legacyrouter "github.com/getkin/kin-openapi/routers/legacy"
7374
)
7475

7576
func main() {
7677
ctx := context.Background()
7778
loader := &openapi3.SwaggerLoader{Context: ctx}
78-
spec, _ := loader.LoadSwaggerFromFile("openapi3_spec.json")
79-
_ := spec.Validate(ctx)
80-
router, _ := openapi3filter.NewRouter(spec)
79+
doc, _ := loader.LoadSwaggerFromFile("openapi3_spec.json")
80+
_ := doc.Validate(ctx)
81+
router, _ := legacyrouter.NewRouter(doc)
8182
httpReq, _ := http.NewRequest(http.MethodGet, "/items", nil)
8283

8384
// Find route
@@ -191,5 +192,13 @@ func arrayUniqueItemsChecker(items []interface{}) bool {
191192

192193
## Sub-v0 breaking API changes
193194

195+
### v0.51.0
196+
* Type `openapi3filter.Route` moved to `routers` (and `Route.Handler` was dropped. See https://github.com/getkin/kin-openapi/issues/329)
197+
* Type `openapi3filter.RouteError` moved to `routers` (so did `ErrPathNotFound` and `ErrMethodNotAllowed` which are now `RouteError`s)
198+
* Routers' `FindRoute(...)` method now takes only one argument: `*http.Request`
199+
* `getkin/kin-openapi/openapi3filter.Router` moved to `getkin/kin-openapi/routers/legacy`
200+
* `openapi3filter.NewRouter()` and its related `WithSwaggerFromFile(string)`, `WithSwagger(*openapi3.Swagger)`, `AddSwaggerFromFile(string)` and `AddSwagger(*openapi3.Swagger)` are all replaced with a single `<router package>.NewRouter(*openapi3.Swagger)`
201+
* NOTE: the `NewRouter(doc)` call now requires that the user ensures `doc` is valid (`doc.Validate() != nil`). This used to be asserted.
202+
194203
### v0.47.0
195204
Field `(*openapi3.SwaggerLoader).LoadSwaggerFromURIFunc` of type `func(*openapi3.SwaggerLoader, *url.URL) (*openapi3.Swagger, error)` was removed after the addition of the field `(*openapi3.SwaggerLoader).ReadFromURIFunc` of type `func(*openapi3.SwaggerLoader, *url.URL) ([]byte, error)`.

0 commit comments

Comments
 (0)