Spring REST - Can a RestTemplate consume multipart/mixed?

后端 未结 2 1211
走了就别回头了
走了就别回头了 2021-01-02 22:11

I want to write a REST service which does responed with a zipFile and some json data, everything in one multipart/mixed request.

The server part works fine and i am

相关标签:
2条回答
  • 2021-01-02 22:55

    I had the same issue and I think I achieved what you wanted. You just have to override the canRead method of the form converter. With your example something like below should work.

    FormHttpMessageConverter formConverter = new FormHttpMessageConverter() {
        @Override
        public boolean canRead(Class<?> clazz, MediaType mediaType) {
            if (clazz == MyMultiValueMap.class) {
                return true;
            }
            return super.canRead(clazz, mediaType);
        }
    };
    

    And add this converter to your rest template.

    0 讨论(0)
  • 2021-01-02 22:55

    I use this solution at the moment:

    @ResponseBody
    @PostMapping(value = JlotApiUrls.PUSH, produces = "application/json")
    public List<PushResultDTO> push ( 
            @PathVariable String projectName,       
            @PathVariable String versionName, 
            @RequestPart("file") MultipartFile multipartFile, 
            @RequestPart("data") @Valid PushForm pushForm 
       ) throws IOException, BindException
    {
     ...
    }
    

    https://github.com/kicktipp/jlot/blob/master/jlot-web/src/main/java/org/jlot/web/api/controller/PushController.java

    0 讨论(0)
提交回复
热议问题