使用POST方法发送MultipartFile和JSON对象

时间:2019-02-26 13:53:54

标签: java spring-boot postman

我有POST方法,我想发送图像和JSON对象。 这是我的方法:

docker build --build-arg SMB_PASS=swed24sw --build-arg SMB_USER=Ubuntu . -t IMAGE_TAG

这是我对POSTMAN的发帖请求: enter image description here

我不知道我的问题在哪里,用POSTMAN请求还是我的方法?

这是我的CategoryModel:

 @PostMapping("/saveCategory")
    @ResponseStatus(HttpStatus.OK)
    public void createCategory( @RequestParam("file") MultipartFile file, @RequestParam("id") CategoryModel s) {
        System.out.println(s);

        String fileName = fileStorageService.storeFile(file);

        String fileDownloadUri = ServletUriComponentsBuilder.fromCurrentContextPath().path("/downloadFile/")
                .path(fileName).toUriString();
    //  category.setImage_path(fileName);

        //this.categoryRepository.save(category);

         /*return new UploadFileResponse(fileName, fileDownloadUri,
        file.getContentType(), file.getSize());*/

    }

1 个答案:

答案 0 :(得分:0)

响应错误表明您期望使用的是CategoryModel类型的ID,但是要发送的是String类型的ID。

FormData主要用于发送表单数据。这样做的限制是,您只能将文件或字符串作为键/值对发送,而不能发送对象。

您可以将ID重命名为categoryName,然后将“ ziska111”作为值。在该方法中,将@RequestParam("id") CategoryModel s替换为@RequestParam("categoryName") String categoryName