当前位置: 首页 > 知识库问答 >
问题:

如何使用flask_restplus定义字典字段,以便在使用swagger codegen生成的go代码中使用?

百里弘致
2023-03-14

我已经使用swagger CLI生成go代码来调用我的flask应用程序。swagger codegen转换字段。原始类型使用go中的flask_restplus模型定义为*接口{}

将值赋给go返回中带有*接口{}类型的字段

prog.go:18: 26:不能使用notebook_spec_secrets(类型map[字符串]字符串)作为类型*接口{}在赋值:*接口{}是指向接口的指针,而不是接口

你可以在这里测试https://play.golang.org/p/sFE9Qr-72_G

一个快速而肮脏的修复程序将通过swagger cli更改生成的代码并进行更改

NotebookSpec*接口{}

NotebookSpec接口{}

>

  • 是否可以将字典转换到go中的*接口{}?(我的google搜索显示指向go界面的指针是无效的,逻辑上是不正确的)

    如何使用restplus定义字典字段

    run_definition = api.model('Run definition',
                               {
    
                                   'notebook_spec_secrets':
                                   fields.Raw(required=False,
                                              example={
                                                  "eventhub_source_cs": "Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=xxxx;SharedAccessKey=xxxx=;EntityPath=sourceeh",
                                                  "eventhub_destination_cs": "Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=xxxx;SharedAccessKey=xxxx=;EntityPath=desteh",
                                                  "adl2_destination_oauth2_clientid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                                                  "adl2_destination_oauth2_clientsecret": "xxxx=",
                                                  "adl2_destination_oauth2_tenantid": "xxxx=",
                                                  "adl2_destination_cs": "abfss://<file-system-name>@<storage-account-name>.dfs.core.windows.net/folder1",
                                              })})
    
    
  • 共有1个答案

    贺华容
    2023-03-14

    我不知道为什么它会生成一个指向接口的指针,但是仍然可以通过显式地将映射转换到接口{},然后获取该接口的地址来分配给它:

    notebook_spec_secrets := map[string]string{
        "eventhub_source_cs":                   "1",
        "eventhub_destination_cs":              "2",
        "adl2_destination_oauth2_clientid":     "3",
        "adl2_destination_oauth2_clientsecret": "4",
        "adl2_destination_oauth2_tenantid":     "5",
        "adl2_destination_cs":                  "6",
    }
    
    var nssi interface{} = notebook_spec_secrets
    definition.NotebookSpec = &nssi
    

    https://play.golang.org/p/rHrMH_jF_oS

     类似资料:
    • 问题内容: 我有一个实现Swift 4的结构。是否有一种简单的内置方法将该结构编码为字典? 问题答案: 如果您不介意数据移位,可以使用以下方法: 或可选变体 假设符合或确实可以做到这一点。

    • 这类似于这个问题,但我们用Gradle代替。假设我们在构建脚本中直接使用jOOQ的代码生成,正如文档中所描述的那样。 有两个问题。首先,我们将向生成器配置中添加一个新的策略,这应该很简单: 然而,如果我们打印得到的XML配置,名称元素就会被神秘地省略(也会被悄悄地省略): 其次,可以使用什么机制来预编译生成器策略类()并使其在构建脚本的类路径中可用?这里有一个可能的问题:策略代码依赖于jOOQ的c

    • 我正在尝试使用xText和xtendbuilding与gradle创建第一个项目。 我按照xText文档中的指导创建了语法,还创建了xtend生成器。 在eclipse中,代码按预期生成到src-gen文件夹。 当我创建gradle脚本时,也遵循http://xtext.github.io/xtext-gradle-plugin/xtext-builder.html来构建我的代码,而不是在它生成的

    • 我是否正确理解了使用SBT的最简单方法是使用OSGI插件将工具包安装到Domino服务器中,或者使用捆绑的Tomcat服务器? 在生产中使用代码段的正确方法是什么?仍然希望它引用Playerd数据库?

    • 我在修改我安装的WordPress流行帖子插件时遇到了一些问题。 它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。 在检查代码时,我发现imgsrc有post id而不是返回图像URL。 我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态

    • 问题内容: 我有一个带有一个可选字段的对象,找不到合适的注释来对其建模。有什么想法和Jackson一起做的正确方法是什么? 问题答案: 在Jackson中,您无法区分可选字段和非可选字段。只需在您的POJO中声明任何字段即可。如果您的JSON结构中没有字段,那么Jackson将不会调用setter。您可以跟踪在POJO中是否用标志调用了setter。