Skip to content

Commit a738066

Browse files
committed
doc: added basic usage in readme and testable examples
Signed-off-by: Frédéric BIDON <fredbi@yahoo.com>
1 parent aaaad08 commit a738066

File tree

4 files changed

+57
-1
lines changed

4 files changed

+57
-1
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff 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

3550
See <https://github.com/go-openapi/jsonreference/releases>

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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

examples_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
}

reference.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const (
1616
fragmentRune = `#`
1717
)
1818

19+
// ErrChildURL is raised when there is no child.
1920
var ErrChildURL = errors.New("child url is nil")
2021

2122
// Ref represents a json reference object.

0 commit comments

Comments
 (0)