簡體   English   中英

如何使用 Spring 引導傳入請求將多部分文件映射到 DTO

[英]How To Mapping Multipart file to DTO using Spring Boot for incoming request

我有這個 DTO 請求 Class

Public Class MyRequestDTO(){

private String name;

private MultipartFile docPic;

}

我想在 controller 中檢索


@PostMapping("/test")
public String test(@RequestBody MyRequestDTO dto){

system.out.print(dto.getdocPic.getOriginalFileName());

return "success;
}

但是當我嘗試顯示這個新請求的文件時總是得到 javaNullexception,在 DTO 中映射多部分文件是否正確?

使用最新的 spring 啟動,我們有一個沒有 @RequestBody 注釋的運行示例,所以試試這個:

@PostMapping("/test")
public String test(MyRequestDTO dto){

如果這不起作用,下一個你應該仔細檢查的地方是你的請求。 特別是Content-type 上面的簽名適用於內容類型為: multipart/form-data的請求

您收到 javaNullexception 是因為您收到 MyRequestDTO dto 作為 null 或 dto object 的某些屬性指向 null。

所以在調用null object上的getter方法之前請務必確定。

首先得到 dto.getdocPic 沒有指向 null。


@PostMapping("/test")
public String test(@RequestBody MyRequestDTO dto){

    if(dto.getdocPic() != null){
        
         system.out.print(dto.getdocPic().getOriginalFileName());
    }

    return "success;

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM