我有许多swagger文件,使用相同的定义。我想将此定义移动到单独的文件并引用它们。
主 swagger 文件如下所示:
swagger: '2.0'
info:
version: 1.0.0
basePath: /api
tags:
- name: MyClient
schemes:
- http
consumes:
- application/json
produces:
- application/json
paths:
/v1/myrequest:
post:
tags:
- PassportCheck
summary: Проверить паспорт ФЛ
operationId: passportCheck
produces:
- application/json
parameters:
- name: Body
in: body
required: true
description: ''
schema:
$ref: '#/definitions/MyRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/MyResponse'
'400':
description: Bad request
schema:
$ref: '#/definitions/Errors'
definitions:
MyRequest:
type: object
properties:
some properties
我尝试导入的文件已保存到 exceptions.yaml(并保存到同一位置),如下所示:
swagger: '2.0'
info:
version: 1.0.0
title: Exception API
tags:
- name: ExceptionAPI
definitions:
Errors:
required:
- errors
properties:
errors:
type: array
items:
data declarations go here
我读过$refhttps://swagger.io/docs/specification/using-ref/但找不到如何导入定义,而不是API
我正在尝试导入它,并做了以下更改:
'400':
description: Bad request
schema:
$ref: 'exceptions.yaml#/definitions/Errors'
[ERROR] /C:/Data/MyService/target/generated-sources/src/main/java/myservice/rest/v1/api/V1Api.java:[55,70] cannot find symbol
symbol: class ExceptionsYamldefinitionsErrors
或者使用不同变体中的相对路径
'400':
description: Bad request
schema:
$ref: '..exceptions.yaml#/definitions/Errors'
[ERROR] Failed to execute goal io.swagger:swagger-codegen-maven-plugin:2.3.1:generate (correqts-adapter) on project individual-client-service: Execution correqts-adapter of goal io.swagger:swagger-codegen-maven-plugin:2.3.1:generate fail
ed: Unable to load RELATIVE ref: ..exceptions.yaml: Could not find ..exceptions.yaml on the classpath ->
或在现有声明下插入$ref:
definitions:
$ref: 'exceptions.yaml'
完全被忽略了
有人解决过类似的问题吗?
这对我的文件很有效。我确保swagger.yaml和definitions.yaml在同一个目录中。
src/main/swagger/swagger.yaml
swagger: '2.0'
info:
title: Stack Overflow
version: "1.0.0"
# the domain of the service
host: com.stackoverflow
# array of all schemes that your API supports
schemes:
- https
# will be prefixed to all paths
basePath: /question
consumes:
- application/json
produces:
- application/json
paths:
/hello:
get:
operationId: getHelloWorlds
produces:
- application/json
responses:
200:
schema:
type: array
items:
$ref: 'definitions.yaml#/definitions/HelloWorldObject'
src/main/swagger/definitions.yaml
swagger: '2.0'
info:
title: Stack Overflow API Models
version: "1.0.0"
definitions:
HelloWorldObject:
type: object
properties:
hello: string
world: string
pom.xml(代码片段:项目/构建/插件)
<plugin>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>generate-source</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${basedir}/src/main/swagger/swagger.yaml</inputSpec>
<configurationFile>${basedir}/src/main/swagger/config.json</configurationFile>
<language>jaxrs-di</language>
<apiPackage>${swagger.api.package}</apiPackage>
<modelPackage>${swagger.model.package}</modelPackage>
<generateSupportingFiles>false</generateSupportingFiles>
<modelNameSuffix>Model</modelNameSuffix>
</configuration>
</execution>
</executions>
</plugin>
警告 该语法不属于 rst ,属于 Sphinx 的配置。 由于某些需要,需要引入外部JS、样式。 此时,你需要在 conf.py 文件中, 增加 html_js_files = ['script.js', 'https://example.com/scripts/custom.js', ('custom.js', {'async
外部定义 有时候创建一个由多个不同检出得到的工作拷贝是非常有用的,举个例子,你或许希望不同的子目录来自不同的版本库位置,或者是不同的版本库。你可以手工设置这样一个工作拷贝—使用svn checkout来创建这种你需要的嵌套的工作拷贝结构。但是如果这个结构对所有的用户是很重要的,每个用户需要执行同样的检出操作。 很幸运,Subversion提供了外部定义的支持,一个外部定义是一个本地路经到URL的影
问题内容: 我想创建一个类,作为的内部类,但是我想写下外部文件。 我怎样才能做到这一点? 这将是很多内部类,而文件将是 巨大的 。 更新 我真正想做的是定义十个类,它们只能由一个类访问。所有这些都在同一包内定义。 谢谢。 问题答案: 将所有类放入包中,并将这些类定义为包私有。 注意没有关键字吗?如果创建类Hello的实例在包中,则您将只能创建该实例的实例。
问题内容: 因此,我正在运行此javascript,并且除背景图片的路径外,其他所有功能都正常运行。它可以在我的本地ASP.NET Dev环境中使用,但是当部署到虚拟目录中的服务器时则无法使用。 这在外部.js文件中,文件夹结构为 然后这就是js文件所在的位置 我已经尝试过使用,但也不起作用;但是,如果使用,它似乎可以在服务器上工作。 基本上,我希望具有与ASP.NET tilda-相同的功能。
问题内容: 因此,我正在运行此javascript,并且除背景图片的路径外,其他所有功能都正常运行。它可以在我的本地ASP.NET Dev环境中工作,但是在部署到虚拟目录中的服务器时不起作用。 这在外部.js文件中,文件夹结构为 然后这就是js文件所在的位置 我已经尝试过使用,但也不起作用;但是,如果使用,它似乎可以在服务器上工作。 基本上,我希望具有与ASP.NET tilda-相同的功能。 更
我试图使用从另一个json模式导入定义,但得到以下错误: 目录结构: 通过使用绝对路径、url和路径的其他几种组合,我尝试了几种组合。不知道是怎么回事。 架构验证器: