当前位置: 首页 > 知识库问答 >
问题:

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

巫欣荣
2023-03-14

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

    }

我不明白我的问题在哪里,邮递员的要求还是我的方法?

这是我的分类模型:

 @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个答案

漆雕彦
2023-03-14

响应错误表示您需要CategoryModel类型的id,但您正在发送String类型的id。

FormData主要用于发送表单数据。这有一个限制,即只能将文件或字符串作为键/值对发送,而不能作为对象发送。

您可以将id重命名为categoryName,并将“ziska111”作为值。在该方法中,将@RequestParam(“id”)categoryModels替换为@RequestParam(“categoryName”)字符串categoryName

 类似资料:
  • 问题内容: 我正在尝试在本地网络上的Android应用程序与WampServer之间建立通信。 当我想从服务器读取数据时,我已经成功了,但是当我尝试将数据发送到服务器时却遇到了问题。 我正在使用服务来建立通信: } 和我的PHP文件: 当我运行我的应用程序时,没有任何内容添加到我的数据库中。我认为里面没有东西。 请告诉我我的代码有什么问题? 问题答案: 最后,我成功将JSONObject发送到服务

  • 问题内容: 我正在尝试使用GET方法发送一个json对象。我的代码: 但是,收到的标头将“ Content-Length”设置为零,因此服务器上的json解析器无法读取内容。 我已经尝试设置内容长度标头,但是它仍然以零的形式出现在服务器上: 任何想法如何使它工作?它必须是GET请求。 问题答案: GET请求至少通常是没有消息正文。如文档中所述,jQuery将GET请求追加到url参数。您应该能够使

  • 这是我的控制器: 这是我的配置: 这是类别类: 如果我尝试发送内容类型为application/json和以下正文的post请求: {“id”:8,“title”:“Паа”、“engTitle”:“Pizza”、“description”:null,“menuItems”:[{“id”:4,“title”:“Паааааааааааа”和“engTitle”:“Pepperoni”、“price

  • 它不是重复的。所提供的链接是旧的。“HTTP客户端”已在api23中删除 我想发送json对象: 到URL: http://10digimr.mobimedia.in/api/mobile_retailer/update_profile怎么做?通过post方法? 回应:

  • 我需要发送数千个帖子请求。我在网上搜索信息,经过多次尝试,我编写了以下解决方案: pushes是一个字典列表。 我将应用程序移植到另一个框架中。问题消失了。 发送请求的源服务器上的代码没有被修改。

  • 我试图将POST请求中的嵌套json对象发送到我的spring REST API。 对象java代码 } 我加了逗号,没有变化