Отправка объекта MultipartFile и JSON методом POST - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть метод POST, я хочу отправить изображение и объект JSON.Это мой метод:

 @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());*/

    }

Это мой почтовый запрос от POSTMAN: - enter image description here

Я не могу понять, где моя проблема, с запросом POSTMANили мой метод?

Это моя CategoryModel:

 @Entity
@Table(name = "Category")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class CategoryModel {
    @Id
    @Column(name = "id")
    //@GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String category_name;
    private String category_description;
    private String image_path;

    @JsonIgnore
    @OneToMany( mappedBy = "category")
    private Set<ProductModel> category;

1 Ответ

0 голосов
/ 26 февраля 2019

Ошибка ответа говорит о том, что вы ожидаете идентификатор типа CategoryModel, но отправляете идентификатор типа String.

FormData в основном предназначен для использования при отправке данных формы.Это имеет ограничение, что вы можете отправлять файлы или строки только как пару ключ / значение, а не как объекты.

Вы можете переименовать идентификатор в categoryName и поставить "ziska111" в качестве значения.В этом методе замените @RequestParam("id") CategoryModel s на @RequestParam("categoryName") String categoryName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...