2017-01-08 75 views
1

我是一個開發REST API的過程,它接受文件並執行一些業務特定操作,因爲我們使用的是Apache cxf 3.1.0對於JAXRS注入,端點自動進行附件的代替的InputStreamSwagger批註處理org.apache.cxf.jaxrs.ext.multipart.Attachment

public Response sampleAPI(
      @ApiParam(value = "File to be uploaded.", required = true) 
      @Multipart(value = "file", required = true) Attachment file){ 
     // Some Logic 
    } 

現在,我們需要發佈使用它顯示招搖輸出該API是複雜類型的附件。

enter image description here

那麼,誰需要發送的文件,任何消費者得到一個印象,他需要利用CXF API他的文件發送到這對我們來說是一個問題的端點。

是否有任何方式在swagger批註中,或者我們可以將附件作爲我們的API中的參數更改爲標準的inputstream,以便API的使用者不會感到困惑。

回答

1

您可以在這裏使用@ApiImplicitParam註釋。
所以在你的問題中提到的代碼段,下面應該工作

@ApiImplicitParams({ 
     @ApiImplicitParam(name = "file", value = "File to be uploaded.", required = true, dataType = "file", paramType = "form") 
    }) 
    public Response sampleAPI(
     @ApiParam(hidden = true) @Multipart(value = "file", required = true) Attachment file){ 
    // Some Logic 
    } 

請注意,我已經標誌着Attachment方法參數作爲hidden,這樣招搖不顯示它,因爲它是目前呈現給你。