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

Swagger原始类型的定义

广昊昊
2023-03-14

是否可以为基元类型定义招摇定义/模型?例如,考虑以下几点

definitions:
  program_name:
    type: string
    description: Unique string id

但是,上面的示例返回了许多错误(例如,swagger需要一个属性字段)并且没有示例使用任何不是类型的定义:对象

目的是将其用作另一个模型的子组件和参数——以某种方式重用已经定义的组件。

把这想象成一个昂首阔步的typedef

编辑:根据规范,定义对象与模式对象相同http://swagger.io/specification/#schemaObject,表示它可以接受基元类型。

此外,假设基本类型可以存在于定义部分中,简单参数类型(查询、路径等)可以引用基本定义类型吗?

共有1个答案

柴兴修
2023-03-14

在您的示例中,基本模式是有效的,可以在任何需要模式对象的情况下使用,例如,作为另一个模式的子组件

definitions:
  Program:
    type: object
    properties:
      program_name:
        $ref: "#/definitions/program_name"

  # This becomes:
  # type: object
  # properties:
  #   program_name:
  #     type: string
  #     description: Unique string id

或作为操作体参数或响应模式:

paths:
  /something:
    post:
      summary: POSTs and returns a string
      parameters:
        - in: body
          name: program_name
          schema:
            $ref: "#/definitions/program_name"
      responses:
        "200":
           description: OK
           schema:
             $ref: "#/definitions/program_name"

然而,简单的参数-路径、查询、标题和表单-不使用模式关键字(它们使用类型),因此它们不能从定义中引用模式。

这将在下一版本OpenAPI 3.0中更改,其中模式将用于所有参数类型。

 类似资料:
  • JavaScript 允许我们像使用对象一样使用原始类型(字符串,数字等)。JavaScript 还提供了这样的调用方法。我们很快就会学习它们,但是首先我们将了解它的工作原理,毕竟原始类型不是对象(在这里我们会分析地更加清楚)。 我们来看看原始类型和对象之间的关键区别。 一个原始值: 是原始类型中的一种值。 在 JavaScript 中有 7 种原始类型:string,number,bigint,

  • 如果类型参数在创建期间传递了npt,则原始类型是泛型类或接口的对象。 以下示例将展示上述概念。 例子 (Example) 使用您选择的任何编辑器创建以下Java程序。 GenericsTester.java package com.wenjiangs; public class GenericsTester { public static void main(String[] args) {

  • 我试着搜索像Multi-raw类型的东西,但我没有找到任何东西。 我该怎么做?

  • 问题内容: 什么是原始类型? 问题答案: Java语言规范对原始类型的定义如下: JLS 4.8原始类型 原始类型定义为以下之一: 通过采用通用类型声明的名称而没有随附的类型参数列表形成的引用类型。 数组类型,其元素类型为原始类型。 未从的超类或超接口继承static的原始类型的非成员类型。RR 这是一个例子说明: 这是参数化类型(JLS 4.5)。通常,通俗地简称MyType为这种类型是很常见的

  • 在下面来自的语法中,泛型类型参数在实例化原始类型数组后用于类型转换,

  • 问题内容: 我很好奇Java的类和double的原始类型之间的性能差异是什么。因此,我创建了一个基准测试,发现类类型比原始类型慢3到7倍。(在本地计算机OSX上为3x,在ideone上为7x) 这是测试: http://ideone.com/fDizDu 那么为什么Double类型要慢得多呢?为什么还要实施它以允许数学运算符? 问题答案: 那么为什么Double类型要慢得多呢? 因为该值包装在需要