Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jersey 将参数或标题定义获取到组件节中以便可以重复使用_Jersey_Jax Rs_Swagger_Swagger 2.0_Openapi - Fatal编程技术网

Jersey 将参数或标题定义获取到组件节中以便可以重复使用

Jersey 将参数或标题定义获取到组件节中以便可以重复使用,jersey,jax-rs,swagger,swagger-2.0,openapi,Jersey,Jax Rs,Swagger,Swagger 2.0,Openapi,在OpenAPI Spec 3.0中,有一个组件部分,您可以在其中定义头、链接、模式等,然后将它们用于各种操作 components: # Reusable schemas (data models) schemas: ... # Reusable path, query, header and cookie parameters parameters: ... # Security scheme definitions (see Authentication

在OpenAPI Spec 3.0中,有一个组件部分,您可以在其中定义头、链接、模式等,然后将它们用于各种操作

components:
  # Reusable schemas (data models)
  schemas:
    ...
  # Reusable path, query, header and cookie parameters
  parameters:
    ...
  # Security scheme definitions (see Authentication)
  securitySchemes:
    ...
  # Reusable request bodies
  requestBodies:
    ...
  # Reusable responses, such as 401 Unauthorized or 400 Bad Request
  responses:
    ...
  # Reusable response headers
  headers:

  //...
我有许多在各种操作中通用的头,因此从开放API的角度来看,它们是在components部分中定义的,因此可以重用

在Swagger中,当您使用@Schema时,它最终会出现在components/Schema部分,但我很难看到如何将参数或头放入components部分,以便重用它们

注意:我使用的是jax-rs/Jersey

我编写了一个YAML,其中有一个在components/schema中定义的头和参数,然后根据它生成了JavaJAX-RS/Jersey,但它为每个API操作定义了头和参数。没有重复使用。它还缺少我在YAML的components/header中定义的header的描述

看看JDoc:

对于header,我使用ref属性来引用components部分中的某些内容,但问题是如何将其放入components部分


非常感谢您的帮助。

目前,只有模式和安全模式可以通过Java注释定义

顺便说一句,作为一种解决方法,您可以在YAML规范文件中定义全局组件,并在运行时将其与注释驱动规范合并

看看这个关于组件/参数部分的问题


您的意思是如何使用Java注释定义可重用组件?e、 g.在Springfox中,我应该说使用Jersey/JAX_RS,我会更新question@Helen我已经更新了