簡體   English   中英

在 spring 中執行“POST”操作時出錯?

[英]Error when performing "POST" operation in spring?

我已經從 angular 服務類發送了數據。 這里我發送了三個參數letter,documents,empList給 Api 進行 POST 操作

export class LetterService {

  private baseUrl = 'http://localhost:8080/api/letter';
   constructor(private http: HttpClient) { }

   saveThree(letter: Object,documents: Object,empList: Object): Observable<Object> {
    return this.http.post(`${this.baseUrl}` + `/create`, {letter,documents,empList});
  }

在 Spring 啟動端,我使用這個 @RequestBody 來映射來自服務的即將到來的 JSON 數據。 (您可以省略代碼的內部邏輯,因為錯誤是另一回事)

@PostMapping(value = "/letter/create")
    public String postAllThree(@RequestBody LetterDto letterDto,
            @RequestBody List<Document> document,@RequestBody SelectionCustomOfficeDto selectionCustomOfficeDto) {
        
        
        ClkLetter clkLetter=clkLetterRepository.findById((long)1).get();
        
        Selection selection=selectionRepository.findById((long)letterDto.getSelectionNo()).get();
        
        Assessment assessment=assessmentRepository.findById((long)letterDto.getAssessmentNo()).get();
    
        
        
    Letter letter=letterRepository.save(new Letter(clkLetter,letterDto.getInOut(),letterDto.getInOutNo(),letterDto.getInOutDate(),letterDto.getLetterIssuedSubBy(),letterDto.getLetterFile(),letterDto.getRepresentativeName()
                ,selection,assessment));
        
     for(Document docume:document)  {
         
         if(docume.isChecked()) {
             letterDocRepository.save(new LetterDoc(letter,docume,"a"));
         }
     }
        
        return  "success";
    }

我得到的錯誤是:

[org.springframework.http.converter.HttpMessageNotReadableException:讀取輸入消息時出現I/O錯誤; 嵌套異常是 java.io.IOException: Stream closed]

為什么我收到這個錯誤? 我從 angular 發送的參數是不匹配還是我的 @Postmapping 操作有問題? 我也看到了其他文章和問題,但沒有用。

您只能擁有一個@RequestBody。 將 {letter,document,empList} 合並到一個 DTO POJO 中。

public class MyDTO {
    private Object letter;
    private List<Object> documents;
    private List<Object> empList;
// getters and setters
}

對於原始類型的請求參數,您可以使用 @RequestParam 並將它們附加到 URL 中

暫無
暫無

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

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