File tree Expand file tree Collapse file tree 4 files changed +57
-1
lines changed
Expand file tree Collapse file tree 4 files changed +57
-1
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,21 @@ go get github.com/go-openapi/jsonreference
3030
3131## Basic usage
3232
33+ ``` go
34+ // Creating a new reference
35+ ref , err := jsonreference.New (" http://example.com/doc.json#/definitions/Pet" )
36+
37+ // Fragment-only reference
38+ fragRef := jsonreference.MustCreateRef (" #/definitions/Pet" )
39+
40+ // Resolving references
41+ parent , _ := jsonreference.New (" http://example.com/base.json" )
42+ child , _ := jsonreference.New (" #/definitions/Pet" )
43+ resolved , _ := parent.Inherits (child)
44+ // Result: "http://example.com/base.json#/definitions/Pet"
45+ ```
46+
47+
3348## Change log
3449
3550See < https://github.com/go-openapi/jsonreference/releases >
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ This policy outlines the commitment and practices of the go-openapi maintainers
66
77| Version | Supported |
88| ------- | ------------------ |
9- | 0.22 .x | :white_check_mark : |
9+ | 0.21 .x | :white_check_mark : |
1010
1111## Reporting a vulnerability
1212
Original file line number Diff line number Diff line change 1+ // SPDX-FileCopyrightText: Copyright (c) 2015-2025 go-swagger maintainers
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ package jsonreference_test
5+
6+ import (
7+ "fmt"
8+ "log"
9+
10+ "github.com/go-openapi/jsonreference"
11+ )
12+
13+ func ExampleRef_GetURL () {
14+ fragRef := jsonreference .MustCreateRef ("#/definitions/Pet" )
15+
16+ fmt .Printf ("URL: %s\n " , fragRef .GetURL ())
17+
18+ // Output: URL: #/definitions/Pet
19+ }
20+
21+ func ExampleRef_Inherits () {
22+ parent := jsonreference .MustCreateRef ("http://example.com/base.json" )
23+ child , err := jsonreference .New ("#/definitions/Pet" )
24+ if err != nil {
25+ log .Printf ("%v" , err )
26+
27+ return
28+ }
29+
30+ resolved , err := parent .Inherits (child )
31+ if err != nil {
32+ log .Printf ("%v" , err )
33+
34+ return
35+ }
36+
37+ fmt .Printf ("URL: %v\n " , resolved )
38+
39+ // Output: URL: http://example.com/base.json#/definitions/Pet
40+ }
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ const (
1616 fragmentRune = `#`
1717)
1818
19+ // ErrChildURL is raised when there is no child.
1920var ErrChildURL = errors .New ("child url is nil" )
2021
2122// Ref represents a json reference object.
You can’t perform that action at this time.
0 commit comments