1 回答

TA貢獻1816條經驗 獲得超6個贊
不知道為什么,但下面的更改修復了它。問題可能出在自動化測試上。
@Test
public void testGetNonExistantVideosData() throws Exception {
long nonExistantId = getInvalidVideoId();
try{
Response r = videoSvc.getData(nonExistantId);
assertEquals(404, r.getStatus());
}catch(RetrofitError e){
assertEquals(404, e.getResponse().getStatus());
}
}
我的方法簽名如下。我將方法更改為當傳入無效 id 作為參數時返回 null,并且僅當傳入有效 id 并且二進制視頻 mpeg 數據成功寫入 HttpServletResponse.Outputstream 時才返回 VideoStatus。
換句話說,做 aresponse.sendError()也需要 a return null;。
@RequestMapping(value = VIDEO_DATA_PATH, method = RequestMethod.POST)
public @ResponseBody VideoStatus uploadVideo(@PathVariable("id") long id, @RequestParam("data") MultipartFile data, HttpServletResponse response) {
VideoStatus status = new VideoStatus(VideoStatus.VideoState.READY);
添加回答
舉報