成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

spring cloud 微服務(wù)之間上傳文件

KitorinZero / 3455人閱讀

摘要:今天開(kāi)發(fā)項(xiàng)目時(shí),遇到一個(gè)需求,需要上傳一個(gè)文件到微服務(wù)上,微服務(wù)是國(guó)外同事寫的,我負(fù)責(zé)處理和前端部分。問(wèn)題就出在調(diào)用另一個(gè)微服務(wù)上。支持的請(qǐng)求方法的方式,屬于的類。這個(gè)請(qǐng)求是通過(guò)協(xié)議傳輸?shù)摹?/p>

今天開(kāi)發(fā)項(xiàng)目時(shí),遇到一個(gè)需求,需要上傳一個(gè)excel文件到微服務(wù)上,微服務(wù)是國(guó)外同事寫的,
我負(fù)責(zé)處理gateway和前端部分。在postman上測(cè)試接口沒(méi)有問(wèn)題了,就準(zhǔn)備在代碼就實(shí)現(xiàn)。
但是遇到了一個(gè)問(wèn)題,無(wú)論怎樣都調(diào)用不成功。此時(shí)前端到gateway的調(diào)用是成功的,因?yàn)槲铱梢园裞ontroller
拿到的數(shù)據(jù)成功寫入到本地。問(wèn)題就出在gateway調(diào)用另一個(gè)微服務(wù)上。
@RequestMapping(value = "/import/excel", method = RequestMethod.POST)
    public Object importTableExcel(@RequestParam("file") MultipartFile file, @RequestParam("tableName") String tableName, @RequestParam("importType") String importType) {
        return ep2LookUpDBFeignClient.importTableExcel(file, tableName, importType);
    }
這個(gè)是controller代碼,前端用formData封裝提交,這里用MultipartFile 接收。到這一步是沒(méi)有問(wèn)題的
@RequestMapping(value = "/api/tables/import/excel",
        method = RequestMethod.POST,
        produces = { MediaType.APPLICATION_JSON_UTF8_VALUE },
        consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    Object importTableExcel(@RequestParam("file") MultipartFile file,@RequestParam("tableName")String tableName, @RequestParam("importType")String importType);
這個(gè)是調(diào)用微服務(wù)的代碼,問(wèn)題就出在這里。但是我一開(kāi)始也是百思不得其解,參數(shù)設(shè)置什么的都沒(méi)
有問(wèn)題了,那怎么還會(huì)出錯(cuò)了。于是我各種找資料,然后在一篇文中,看到原來(lái)是注解寫錯(cuò)了,
MultipartFile 的注解應(yīng)該是@RequestPart,而不是@RequestParam。改了之后果然可以了。
@RequestMapping(value = "/api/tables/import/excel",
        method = RequestMethod.POST,
        produces = { MediaType.APPLICATION_JSON_UTF8_VALUE },
        consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    Object importTableExcel(@RequestPart("file") MultipartFile file,@RequestParam("tableName")String tableName, @RequestParam("importType")String importType);
這個(gè)是可以成功運(yùn)行的代碼,在此記錄一下,以免下次還犯同樣的錯(cuò)誤。

以下是 @RequestParam和@RequestPart的區(qū)別

1.@RequestPart這個(gè)注解用在multipart/form-data表單提交請(qǐng)求的方法上。 
2.支持的請(qǐng)求方法的方式MultipartFile,屬于Spring的MultipartResolver類。這個(gè)請(qǐng)求是通過(guò)                http協(xié)議傳輸?shù)摹?
3.@RequestParam也同樣支持multipart/form-data請(qǐng)求。 
4.他們最大的不同是,當(dāng)請(qǐng)求方法的請(qǐng)求參數(shù)類型不再是String類型的時(shí)候。 
5.@RequestParam適用于name-valueString類型的請(qǐng)求域,@RequestPart適用于復(fù)雜的請(qǐng)求域(像JSON,XML)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75284.html

相關(guān)文章

  • SpringCloud(第 024 篇)簡(jiǎn)單文件上傳服務(wù)加入zuul服務(wù)后用zuul服務(wù)地址實(shí)

    摘要:提供給文件上傳微服務(wù)用的。注意注解能注冊(cè)到服務(wù)上,是因?yàn)樵撟⒔獍丝蛻舳说淖⒔?,該是一個(gè)復(fù)合注解。地址可以查看該微服務(wù)網(wǎng)關(guān)代理了多少微服務(wù)的。 SpringCloud(第 024 篇)簡(jiǎn)單文件上傳微服務(wù),并加入 zuul 微服務(wù)后用 zuul 微服務(wù)地址采取curl或者頁(yè)面點(diǎn)擊實(shí)現(xiàn)文件上傳 - 一、大致介紹 1、本章節(jié)主要將文件上傳微服務(wù)加入到 zuul 服務(wù)中去,然后利用 zuul...

    Cympros 評(píng)論0 收藏0
  • SpringCloud(第 023 篇)簡(jiǎn)單文件上傳服務(wù)采取curl或者頁(yè)面點(diǎn)擊實(shí)現(xiàn)文件上傳

    摘要:二實(shí)現(xiàn)步驟添加引用包模塊客戶端發(fā)現(xiàn)模塊監(jiān)控和管理生產(chǎn)環(huán)境的模塊添加應(yīng)用配置文件,默認(rèn),默認(rèn)打印日志添加簡(jiǎn)單的上傳文件頁(yè)面添加上傳文件控制器上傳文件控制器。添加文件服務(wù)啟動(dòng)類簡(jiǎn)單文件上傳微服務(wù)采取或者頁(yè)面點(diǎn)擊實(shí)現(xiàn)文件上傳。 SpringCloud(第 023 篇)簡(jiǎn)單文件上傳微服務(wù)采取curl或者頁(yè)面點(diǎn)擊實(shí)現(xiàn)文件上傳 - 一、大致介紹 1、本章節(jié)主要搭建了一個(gè)簡(jiǎn)單的頁(yè)面上傳Web控制器,...

    wangbinke 評(píng)論0 收藏0
  • Spring框架之我見(jiàn)(六)——Spring Cloud

    摘要:系統(tǒng)中的各個(gè)微服務(wù)可被獨(dú)立部署,各個(gè)微服務(wù)之間是松耦合的。每個(gè)微服務(wù)僅關(guān)注于完成一件任務(wù)并很好地完成該任務(wù)。傳統(tǒng)架構(gòu)升級(jí)困難。新的輕量級(jí)協(xié)議容器化的出現(xiàn)。熔斷處理在微服務(wù)出現(xiàn)問(wèn)題時(shí)防止出現(xiàn)雪崩效應(yīng)。 聊完Spring Boot,我們來(lái)看看Spring Boot最重要的一方面的應(yīng)用——Spring Cloud。 Spring Cloud 再聊SpringCloud之前我們先聊聊微服務(wù)。 ...

    alighters 評(píng)論0 收藏0
  • 兩年了,我寫了這些干貨!

    摘要:開(kāi)公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問(wèn)題前后端分離二使用完美處理權(quán)限問(wèn)題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開(kāi)公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<