簡體   English   中英

Spring Boot-是否可以根據成功從Web服務返回文件或xml?

[英]Spring Boot - Is it possible to return a File OR xml from web service depending on success?

我的任務是創建一個從Azure存儲帳戶中獲取文件的Web服務。

成功時 :將文件作為有效負載返回

錯誤時 :返回xml響應。

xml響應將包含請求,錯誤代碼和消息等的副本,因為用戶將需要一條有用的錯誤消息來解釋發生了什么。

我可以找到有關如何返回單個對象/媒體類型,而不是取決於條件的多種類型的說明。

這可能嗎?

感謝Abhijeet的注釋,使用異常處理程序解決-重要的是添加contentType或默認情況下返回JSON

@ControllerAdvice
public class MyExceptionHandler {

  @ResponseStatus(HttpStatus.I_AM_A_TEAPOT)
  @ExceptionHandler(MyException.class)
  @ResponseBody
  ResponseEntity<?> exceptionHandler(MyException e){
      InvoiceArchiveResponse responseObject = e.getResponseObject();
      return ResponseEntity.badRequest()
              .contentType(MediaType.parseMediaType("application/xml"))
              .body(responseObject);
  }
}

謝謝!

暫無
暫無

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

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