
我创建了一个用 gin 编写的简单 api。我使用 fizz 生成 openapi 3 规范。这是我的 post 端点:
// sets user route group
func userroute(grp *fizz.routergroup) {
// create new user
grp.post("", []fizz.operationoption{
fizz.summary("creates new user and sends verification mail."),
...
}, tonic.handler(handlers.createuser, 201))
}这是处理程序方法:
// Creates new user
func CreateUser(c *gin.Context, register *models.Register) error {
...
return nil
}问题在于,在生成的 json 规范中,“register”模型显示为“createuserinput”:
有什么办法可以解决这个问题吗?或者这是正常现象吗?
本文档主要讲述的是Android 本地数据存储;对于需要跨应用程序执行期间或生命期而维护重要信息的应用程序来说,能够在移动设备上本地存储数据是一种非常关键的功能。作为一名开发人员,您经常需要存储诸如用户首选项或应用程序配置之类的信息。您还必须根据一些特征(比如访问可见性)决定是否需要涉及内部或外部存储器,或者是否需要处理更复杂的、结构化的数据类型。跟随本文学习 Android 数据存储 API,具体来讲就是首选项、SQLite 和内部及外部内存 API。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以
0
根据实现,模式名称由以下语句生成: name := strings.title(op.id) + "input" (请参见下面的 23 行):
1 // setOperationParams adds the fields of the struct type t
2 // to the given operation.
3 func (g *Generator) setOperationParams(op *Operation, t, parent reflect.Type, allowBody bool, path string) error {
4 if t.Kind() != reflect.Struct {
5 return errors.New("input type is not a struct")
6 }
7 if err := g.buildParamsRecursive(op, t, parent, allowBody); err != nil {
8 return err
9 }
10 // Input fields that are neither path- nor query-bound
11 // have been extracted into the operation's RequestBody
12 // If the RequestBody is not nil, give it a name and
13 // move it to the openapi spec's components/schemas section
14 // Replace the RequestBody's schema with a reference
15 // to the named schema in components/schemas
16 if op.RequestBody != nil {
17 mt := tonic.MediaType()
18 if mt == "" {
19 mt = anyMediaType
20 }
21 sch := op.RequestBody.Content[mt].Schema
22 if sch != nil {
23 name := strings.Title(op.ID) + "Input"
24 g.api.Components.Schemas[name] = sch
25 op.RequestBody.Content[mt].Schema = &SchemaOrRef{Reference: &Reference{
26 Ref: componentsSchemaPath + name,
27 }}
28 }
29 }您可以使用 fizz.id 自定义操作 id,但没有办法去掉input后缀。如果您确实想以不同的方式生成模式名称,则需要分叉存储库并修改实现。
以上就是Gin 的 Fizz OpenAPi 生成器正在重命名类型的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号