MultipartFile загрузка с клиента Feign дает 403 Запрещенная ошибка - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь вызвать 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 / exitApplication

Другие API, не связанные с загрузкой файлов, работают нормально.

1 Ответ

0 голосов
/ 28 ноября 2018

Опечатка здесь:

URL-адрес сопоставления запроса: /services/leaveApplication

Но вы получаете доступ: /service/leaveApplication

Измените service на services

...