我可以让swagger-codegen忽略一些方法参数

时间:2019-07-04 12:05:58

标签: swagger-codegen method-signature swagger-codegen-maven-plugin

我在自己的Maven构建中使用swagger-codegen为REST层生成Java接口。这很好。但是,我想从生成的方法的参数列表中排除几个参数。

问题

是否可以让swagger-codegen排除某些参数(例如,按名称)?

  

代替

     
      
  • public Response getFromEndpoint(String userToken, String xRequestId, String foo)
  •   
     

我想得到

     
      
  • public Response getFromEndpoint(String foo)
  •   

我确实希望这些参数保留在文档中

为什么

我将在过滤器中使用省略的标头,但随后它们在生成的方法中变得无关紧要,因此我不希望它们在那里。
能够排除它们的好处还在于,在添加新的安全性相关参数后,我不必在实现中修复每个方法签名。


我的设置

pom.xml

<plugin>
    <groupId>io.swagger.codegen.v3</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>3.0.0</version>

swagger.yaml

paths:
  /endpoint
    get:
      tags:
        - example
      operationId: getFromEndpoint
      parameters:
        - name: user-token
          in: header
          required: true
          schema:
            type: string
        - name: X-request-id
          in: header
          required: false
          schema:
            type: string
        - name: foo
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: sample response
          content:
            application/json:
              schema:
                type: string

0 个答案:

没有答案