【问题标题】:MultipartFile upload from Feign Client giving 403 Forbidden error从 Feign 客户端上传 MultipartFile 给出 403 Forbidden 错误
【发布时间】:2018-11-28 07:29:07
【问题描述】:

我正在尝试通过 feign 客户端调用 api 并通过 MultipartFile 上传文件以及一些字符串参数。

这是我的客户端代码:

package com.abc;

import feign.codec.Encoder;

@FeignClient(url = "https://xys.com", name = "uploadfile", configuration = UploadFileFeign.MultipartSupportConfig.class)
public interface UploadFileFeign {

    @PostMapping(value = "leaveApplication", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public ObjectRestResponse<?> handleFileUpload(@RequestParam(value = "request") String request,
            @RequestPart(value = "file") MultipartFile srcFile);


    class MultipartSupportConfig {
        @Bean
        public Encoder feignFormEncoder() {
            return new FeignSpringFormEncoder();
        }

        @Bean
        public feign.Logger.Level multipartLoggerLevel() {
            return feign.Logger.Level.FULL;
        }
    }
}

下面是我的客户端调用的 API 代码。

@RequestMapping(value="/services/leaveApplication", method=Request.POST, produces = MediaType.MULTIPART_FORM_DATA_VALUE, headers="Accept=application/json")
public ResponseOutput leaveApplication(@RequestParam("request") String request, @RequestParam(value = "file", required=false) MultipartFile srcFile) throws Exception {
}

但我收到错误回复: 403 - 禁止错误。 您无权访问 /services/leaveApplication

其他不涉及文件上传的api工作正常。

【问题讨论】:

    标签: java api spring-mvc spring-boot feign


    【解决方案1】:

    这里有错别字:

    请求映射 URL 为:/services/leaveApplication

    但您正在访问:/service/leaveApplication

    service 更改为services

    【讨论】:

    • 嗨,对不起,我输入的网址不正确。现在更正了。它不是 url 问题,因为应用程序 url 是同步的
    • 始终复制并粘贴错误日志和代码,而不是手动输入。
    • 是的,但是日志在客户端机器上。我不能复制它们
    猜你喜欢
    • 2014-02-17
    • 2018-06-14
    • 1970-01-01
    • 2018-03-21
    • 2020-08-25
    • 2015-11-28
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多