2021-09-24 ruoyi框架中使用feign自定义服务,fegin使用遇到的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-09-24 ruoyi框架中使用feign自定义服务,fegin使用遇到的坑相关的知识,希望对你有一定的参考价值。

参考技术A 创建RemoteJobService使用fegin对远程服务进行代理

创建分级处理工厂

坑一: spring.factories 装配加载,不进行此操作可能会导致降级处理工厂无法使用

坑二: spring cloud feign微服务调用报错Request method 'POST' not supported
调用 @GetMapping 类的请求要对形参加入 @RequestBody

参考文章:
http://doc.ruoyi.vip/ruoyi-cloud/cloud/feign.html
https://cloud.tencent.com/developer/article/1497809

RuoYi框架实现文件下载实现

本篇文章仅针对ruoyi模板的下载文件功能,对其进行修改


前端
注意事项:.不要用ajax传参,可以使用 location.href的方式,使用ajax调用Controller不会开启下载文件弹窗,但是会正常下载文件,控制台也不会报错,下载好的文件会在浏览器中的network中的最新一条请求中的response中找到二进制文件数据
filename均为/profile/upload开头

前端代码实现:

Js实现:

function downLoads(evidenceUrl,evidenceName) 
            window.location.href=ctx +"common/download/resource?resource="+ evidenceUrl + "&name=" + evidenceName;
        

后端代码实现:

    /**
     * 本地资源通用下载
     */
    @GetMapping("/common/download/resource")
    public void resourceDownload(String resource, String name, HttpServletRequest request, HttpServletResponse response) 
        try 
            if (!FileUtils.checkAllowDownload(resource)) 
                throw new Exception(StringUtils.format("资源文件()非法,不允许下载。 ", resource));
            
            // 本地资源路径
            String localPath = RuoYiConfig.getProfile();
            // 数据库资源地址
            String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
            // 下载名称
            String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
            if (!name.equals("") && name != null) 
                FileUtils.setAttachmentResponseHeader(response, name);
             else 
                FileUtils.setAttachmentResponseHeader(response, downloadName);
            
            FileUtils.writeBytes(downloadPath, response.getOutputStream());
         catch (Exception e) 
            e.printStackTrace();
            log.error("下载文件失败", e);

        
    

以上是关于2021-09-24 ruoyi框架中使用feign自定义服务,fegin使用遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

RuoYi框架实现文件下载实现

RuoYi框架实现文件下载实现

Ruoyi微服务开发管理框架

Ruoyi微服务开发管理框架

ruoyi 框架发布在docker中,传参出现乱码问题的解决办法

若依(ruoyi)框架:如何实现灵活自定义路由配置