github.com/gogf/gf/v2@v2.7.4/net/goai/goai_link.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with this file, 5 // You can obtain one at https://github.com/gogf/gf. 6 7 package goai 8 9 import ( 10 "github.com/gogf/gf/v2/internal/json" 11 ) 12 13 // Link is specified by OpenAPI/Swagger standard version 3.0. 14 type Link struct { 15 OperationID string `json:"operationId,omitempty"` 16 OperationRef string `json:"operationRef,omitempty"` 17 Description string `json:"description,omitempty"` 18 Parameters map[string]interface{} `json:"parameters,omitempty"` 19 Server *Server `json:"server,omitempty"` 20 RequestBody interface{} `json:"requestBody,omitempty"` 21 } 22 23 type Links map[string]LinkRef 24 25 type LinkRef struct { 26 Ref string 27 Value *Link 28 } 29 30 func (r LinkRef) MarshalJSON() ([]byte, error) { 31 if r.Ref != "" { 32 return formatRefToBytes(r.Ref), nil 33 } 34 return json.Marshal(r.Value) 35 }