使用Spring OpenFeign 傳輸檔案

2021-10-04 01:17:01 字數 2670 閱讀 5982

完整**

1 引入openfeign依賴

a模組(提供方)

b 模組(呼叫方)

service 層

首先在a模組中寫好了上傳檔案並儲存檔案的介面與實現,

其次 b模組在開發中,需要呼叫a模組的介面

a模組介面 使用form-data傳輸file檔案

b模組在使用openfeign呼叫a介面時, 出現異常:

feign.feignexception: status 400 reading ***
a 模組介面正常

b 模組使用form-data接受正常

b 模組呼叫a模組介面,傳參時異常, 因為呼叫openfeign時沒有使用form-data

方法: b 模組 在使用openfeign 呼叫a模組介面時, 需要 如下改動

file 使用@requestpart 註解

@apioperation

(value =

"新增拓撲圖cad設計圖紙"

)(path =

"/design/file/target/"

, consumes = mediatype.multipart_form_data_value)

designfile adddesignfile

(@pathvariable

("id"

) integer targetid,

@requestparam

(value =

"targettype"

) string targettype,

@requestpart

("file"

) multipartfile file)

;

該**中有需要注意:

必須是post型別的請求。

檔案形參必須用@requestpara multipartfile file來修飾,其中 @requestparat和multipartfile必不可少。 引數

含義path

請求路徑

consumes

請求提交的內容格式

method

請求型別

4.1.2 介面引數描述

引數含義

@pathvariable(「引數名」) 型別 變數名

引數在url中寫, url佔位中的引數

@requestparam(value=「引數名」) 型別 變數名

引數在body中寫,是url中?後面的引數

@requestpart(「引數名」) multipartfile 變數名

特指檔案傳遞時使用,是修改檔案的引數

io.github.openfeign.form

feign-form

*** io.github.openfeign.form

feign-form-spring

***

@restcontroller

public

class

designfilecontroller")

public designfile adddesignfile

(@pathvariable

("id"

) integer targetid,

@requestparam

(value =

"targettype"

) string targettype,

@requestparam

("file"

) multipartfile file)

}

/**

* @author: yibo

* @date: 2020-03-17 11:30

* @description: 拓撲圖附件

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...