Spring-boot에서 excel 오류 보고java를 다운로드합니다.lang. IllegalStateException: getOutputStream () has already been called 해결 방법

3977 단어
**

Spring-boot에서 excel 오류 보고java를 다운로드합니다.lang. IllegalStateException: getOutputStream () has already been called 해결 방법


몇 가지 방식을 모두 시험해 보았다

  • 반환 값이 비어 있거나 매개 변수 (void) 를 반환하지 않으면 소용없습니다
  • 방법에 @ResponseBody 주석을 추가하면 소용없습니다
  • 앞뒤가 분리되는 수요, 앞뒤 VUE가 쓴 것으로 코드를 봐도 out를 사용한 곳이 없습니다.getWriter() 메서드, 소용없습니다
  • 해결 방법은 두 가지 다운로드 방식을 비교한다(전단에서 post 방식으로 controller를 호출하면 오류가 보고되고 get 방식을 직접 사용하면 오류가 보고되지 않으며 삽입 방식을 get이 링크를 통해 전달되는 값으로 바꾸면 OK)
  • @Loggable
       @ApiOperation(value = " ")
       @GetMapping("/users/exportExcel")
       @RequirePermission("wealthmanagement:user:export")
       public void exportExcel(HttpServletResponse response, ExportUserRequest exportUserRequest) {
           ResponseCommonTypeT responseCommonTypeT = new ResponseCommonTypeT();
           List<WxUserDTO> users = reviewService.exportUsers(exportUserRequest);
           ...
    

    기존 방식:
    @Loggable
       @ApiOperation(value = " ")
       @PostMapping("/users/exportExcel")
       @RequirePermission("wealthmanagement:user:export")
       public void exportExcel(HttpServletResponse response,@RequestBody ExportUserRequest exportUserRequest) {
           ResponseCommonTypeT responseCommonTypeT = new ResponseCommonTypeT();
           List<WxUserDTO> users = reviewService.exportUsers(exportUserRequest);
    
    

    좋은 웹페이지 즐겨찾기