我们如何为swlger为驼峰REST服务生成的api指定'securityDefinitions','security'?

时间:2017-06-20 09:53:44

标签: apache-camel swagger springfox

我正在使用 Apache Camel 实现一个休息服务,其中使用XML定义DSL。其余服务使用 camel-swagger-java插件

在json中提供Swagger API

springfox 是替代方案吗?

api生成正确,但缺少 securityDefinitions security ,这是必需的。如何在生成的api中包含它。我正在使用basicAuth。

我需要json root中的以下块

 "securityDefinitions": {
    "basicAuth": {
      "type": "basic",
      "description": "abc"
    }
  }

以及阻止不同'路径'内的阻挡

"security": [
  {
    "basicAuth": [

    ]
  }
]

任何输入都非常感谢

3 个答案:

答案 0 :(得分:0)

目前尚不支持,但我们正在为即将推出的Apache Camel 2.22.0版本添加此功能。您可以在此处关注此票:https://issues.apache.org/jira/browse/CAMEL-9751

答案 1 :(得分:0)

票证 https://issues.apache.org/jira/browse/CAMEL-9751 已发布,因此此功能在 Apache Camel 2.22.0 版本中可用。

它的一个小例子:

<restContext id="restEndpoints" xmlns="http://camel.apache.org/schema/spring">
    <rest path="/rest/service1" >
        <securityDefinitions>
            <apiKey key="api_key" name="Authorization" inHeader="true"/>
            <basicAuth key="basic"/>
        </securityDefinitions>
        <!-- we add one or more security configs in our endpoints -->
        <get uri="/" id="endpoint1" produces="application/json">
            <!-- description and params here -->
            <security key="api_key"/>
            <!-- the route that this request will be redirect -->
        </get>
        <get uri="/{Id}" id="endpoint2" produces="application/json">
            <!-- ... -->
            <security key="basic"/>
            <!-- ... -->
        </get>
   <!-- ... -->

这样您就可以在您的客户端中使用基本的 ad apike auth。

答案 2 :(得分:-1)

你在swagger中看过这个规范吗? http://swagger.io/specification/#securityDefinitionsObject